sql access

100
Expresiones SQL Una expresión SQL es una cadena que crea la totalidad o una parte de una instrucción SQL . Por ejemplo, el método FindFirst de un objeto Recordset utiliza una expresión SQL que consiste en la selección de criterios que se encuentran en una cláusula WHERE de SQL. El motor de base de datos Microsoft Jet utiliza el servicio de expresión de Microsoft® Visual Basic® para Aplicaciones (o VBA) para realizar sencillas evaluaciones aritméticas y de funciones. El servicio de expresión VBA define todos los operadores utilizados en las expresiones SQL de Microsoft Jet (excepto Entre , En y Como ). Además, el servicio de expresión VBA ofrece más de 100 funciones VBA que se pueden utilizar en expresiones SQL. Por ejemplo, puede utilizar estas funciones VBA para componer una consulta SQL en la vista Diseño de la consulta de Microsoft Access; asimismo, puede utilizar estas funciones en una consulta SQL en el método OpenRecordset de DAO del código de Microsoft Visual C+ +®, Microsoft Visual Basic y Microsoft Excel. Consultas SQL (MDB) Una consulta SQL es una consulta creada con una instrucción SQL (cadena o instrucción de SQL: es una expresión que define un comando de SQL, como SELECT, UPDATE o DELETE, e incluye cláusulas como WHERE y ORDER BY. Las instrucciones o cadenas de SQL se utilizan en consultas y en funciones de agregado.). Se puede utilizar el lenguaje de consulta estructurado SQL para consultar, actualizar y administrar bases de datos relacionales, como Microsoft Access. Cuando se crea una consulta en la vista Diseño (vista Diseño: ventana que muestra el diseño de estos objetos de base de datos: tablas, consultas, formularios, informes, macros y páginas de acceso a datos. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.) de la consulta, Access construye en segundo plano las instrucciones SQL equivalentes. De hecho, la mayoría de las propiedades de consulta de la hoja de

Upload: luis-neira-marchant

Post on 25-Jun-2015

2.092 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SQL Access

Expresiones SQL

Una expresión SQL es una cadena que crea la totalidad o una parte de una instrucción SQL. Por ejemplo, el método FindFirst de un objeto Recordset utiliza una expresión SQL que consiste en la selección de criterios que se encuentran en una cláusula WHERE de SQL.

El motor de base de datos Microsoft Jet utiliza el servicio de expresión de Microsoft® Visual Basic® para Aplicaciones (o VBA) para realizar sencillas evaluaciones aritméticas y de funciones. El servicio de expresión VBA define todos los operadores utilizados en las expresiones SQL de Microsoft Jet (excepto Entre , En y Como ). Además, el servicio de expresión VBA ofrece más de 100 funciones VBA que se pueden utilizar en expresiones SQL. Por ejemplo, puede utilizar estas funciones VBA para componer una consulta SQL en la vista Diseño de la consulta de Microsoft Access; asimismo, puede utilizar estas funciones en una consulta SQL en el método OpenRecordset de DAO del código de Microsoft Visual C++®, Microsoft Visual Basic y Microsoft Excel.

Consultas SQL (MDB)

Una consulta SQL es una consulta creada con una instrucción SQL (cadena o instrucción de SQL: es una expresión que define un comando de SQL, como SELECT, UPDATE o DELETE, e incluye cláusulas como WHERE y ORDER BY. Las instrucciones o cadenas de SQL se utilizan en consultas y en funciones de agregado.). Se puede utilizar el lenguaje de consulta estructurado SQL para consultar, actualizar y administrar bases de datos relacionales, como Microsoft Access.

Cuando se crea una consulta en la vista Diseño (vista Diseño: ventana que muestra el diseño de estos objetos de base de datos: tablas, consultas, formularios, informes, macros y páginas de acceso a datos. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.) de la consulta, Access construye en segundo plano las instrucciones SQL equivalentes. De hecho, la mayoría de las propiedades de consulta de la hoja de propiedades de la vista Diseño de la consulta tienen cláusulas y opciones equivalentes a las que están disponibles en la vista SQL (vista SQL: ventana que muestra la instrucción SQL para la consulta activa o que se utiliza para crear una consulta específica de SQL (unión, paso a través o definición de datos). Cuando se crea una consulta en la vista Diseño, Access construye el SQL equivalente en la vista SQL.). Si lo desea, puede ver o editar la instrucción SQL en la vista SQL. Sin embargo, después de hacer cambios en una consulta en la vista SQL, puede que su aspecto no sea el que tenía en la vista Diseño.

Algunas consultas SQL, denominadas consultas específicas de SQL (consulta específica de SQL: consulta que consta de una instrucción SQL. Las subconsultas y consultas de paso a través, unión y definición de datos son consultas específicas de SQL.), no se pueden crear en la cuadrícula de diseño (cuadrícula de diseño: cuadrícula utilizada para diseñar una consulta o un filtro en la vista Diseño de consulta o en la ventana Filtro u orden avanzado. Para las consultas, esta cuadrícula se conocía antes como la cuadrícula QBE.). En el caso de

Page 2: SQL Access

las consultas paso a través (consulta de paso a través: una consulta específica de SQL que se utiliza para enviar comandos directamente a un servidor de base de datos ODBC. Las consultas de paso a través permiten trabajar directamente con las tablas del servidor en lugar de hacer que el motor de base de datos Microsoft Jet procese los datos.), consultas de definición de datos (consulta de definición de datos: consulta específica de SQL que contiene instrucciones DDL (lenguaje de definición de datos). Estas instrucciones permiten crear o alterar objetos de la base de datos.) y consultas de combinación (consulta de unión: consulta que utiliza el operador UNION para combinar los resultados de dos o más consultas de selección.), debe crear las instrucciones SQL directamente en la vista SQL. En el caso de las subconsultas (subconsulta: instrucción SQL SELECT que está dentro de otra consulta de selección o de acción.), la instrucción SQL se escribe en la fila Campo o en la fila Criterios de la cuadrícula de diseño de la consulta.

Dónde se utilizan las instrucciones SQL

En Access, se pueden utilizar instrucciones SQL en muchos lugares donde se pueda escribir el nombre de una tabla, consulta o campo.

En algunos casos, Access rellena la instrucción SQL automáticamente. Por ejemplo, cuando se utiliza un asistente para crear un formulario o un informe que toma los datos de más de una tabla, Access crea automáticamente una instrucción SQL que utiliza como valor para la propiedad OrigenDelRegistro (RecordSource) del formulario o informe. Cuando se utiliza un asistente para crear un cuadro de lista o un cuadro combinado, Access crea una instrucción SQL y la utiliza como valor para la propiedad OrigenDeLaFila (RowSource) del cuadro de lista o cuadro combinado.

Si se desea generar una instrucción SQL para las propiedades OrigenDelRegistro (RecordSource) u OrigenDeLaFila (RowSource) sin utilizar un asistente, haga clic en el botón Generar ó que se encuentra junto a estas propiedades y, a continuación, cree una consulta en la vista Diseño de la consulta.

También se pueden utilizar instrucciones SQL mediante programación en:

El argumento Instrucción SQL de la acción de macro EjecutarSQL. El código, como cadena literal o como instrucción SQL que incluya variables y

controles (control: objeto de interfaz gráfica para el usuario, como un cuadro de texto, una casilla de verificación, una barra de desplazamiento o un botón de comando, que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y opciones, realizar una opción o facilitar la lectura de la interfaz.).

La propiedad SQL de un objeto QueryDef para cambiar la instrucción SQL base de una consulta.

Page 3: SQL Access

Usar expresiones en SQL

Puede escribir una expresión en una instrucción SQL SELECT o en una cláusula WHERE, ORDER BY, GROUP BY o HAVING. También puede escribir una expresión SQL en varios valores de argumentos (argumento: valor que proporciona información a una acción, un evento, un método, una propiedad, una función o un procedimiento.) y propiedades (propiedad: atributo con nombre de un control, campo u objeto de base de datos que se establece para definir una de las características del objeto (por ejemplo, el tamaño, el color o su posición en pantalla) o un aspecto de su comportamiento (por ejemplo, si está oculto o no).). Por ejemplo, puede utilizar una expresión SQL como:

Argumento Condición WHERE de la acción AbrirFormulario o AplicarFiltro.

Argumento de dominio o criterios en una función de agregado de dominio (función de agregado de dominio: función, como DProm o DMáx, que se utiliza para calcular estadísticas sobre un conjunto de registros (un dominio).).

Valor de la propiedad OrigenDelRegistro (RecordSource) u OrigenDeLaFila (RowSource) en formularios e informes.

Consultas específicas de SQL

Consulta de unión

Una consulta de combinación combina campos de dos o más tablas o consultas en un solo campo en los resultados de la consulta. Una consulta de combinación se puede utilizar para combinar datos de dos tablas. Por ejemplo, se pueden combinar datos de nombres de organizaciones y de ciudades de todas las organizaciones de Brasil que aparezcan en las tablas Proveedores y Clientes. Después, se puede construir una consulta de creación de tabla basada en la consulta de combinación para crear una tabla nueva.

Consulta de paso a través

Una consulta paso a través envía comandos directamente a las bases de datos ODBC (base de datos ODBC: base de datos para la que se dispone de un controlador ODBC (conectividad abierta de bases de datos) que puede utilizarse para importar, vincular o exportar datos.), como Microsoft FoxPro, mediante comandos aceptados por el servidor. Por ejemplo, puede emplear una consulta de paso a través para recuperar registros o modificar datos. Mediante las consultas de paso a través se trabaja directamente con las tablas del servidor, en vez de establecer vinculación (vincular (tablas): acción que establece una conexión a datos desde otra aplicación para que pueda ver y editar los datos tanto en la aplicación original como en Access.) a ellas. Las consultas paso a través son también útiles para ejecutar procedimientos almacenados (procedimiento almacenado: colección precompilada de instrucciones SQL e instrucciones de control de flujo opcionales almacenadas con un único nombre y procesadas como una unidad. La colección se almacena en una base de datos SQL y se puede ejecutar con una llamada desde una aplicación.) en un servidor ODBC (ODBC (Conectividad abierta de bases de datos): método estándar para compartir datos entre bases de datos y programas. Los

Page 4: SQL Access

controladores ODBC utilizan SQL para obtener acceso a datos externos.).

Consulta de definición de datos

Una consulta de definición de datos crea, elimina o modifica tablas, o crea índices en una tabla de base de datos. Por ejemplo, la siguiente consulta de definición de datos utiliza la instrucción CREATE TABLE para crear una tabla denominada Amigos. La instrucción incluye el nombre y el tipo de datos (tipo de datos: característica de un campo que determina el tipo de datos que puede albergar. Los tipos de datos son: Booleano, Entero, Largo, Moneda, Simple, Doble, Fecha, Cadena y Variant (predeterminado).) de cada campo de la tabla, y asigna al campo IdAmigo un índice (índice: función que acelera la búsqueda y la ordenación de una tabla según unos valores clave y que puede ayudar a evitar duplicados en las filas de una tabla. La clave principal de una tabla se indiza automáticamente. Algunos campos no se pueden indizar debido a su tipo de datos.) que lo identifica como clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.).

CREATE TABLE Amigos([IdAmigo] entero,[Apellidos] texto,[Nombre] texto,[Cumpleaños] fecha,[Teléfono] texto,[Notas] memo,CONSTRAINT [Índice1] PRIMARY KEY ([IdAmigo]));

Subconsulta

Una subconsulta es una instrucción SQL SELECT dentro de otra consulta de selección o de acción. Puede introducir estas instrucciones en la fila Campo de la cuadrícula de diseño (cuadrícula de diseño: cuadrícula utilizada para diseñar una consulta o un filtro en la vista Diseño de consulta o en la ventana Filtro u orden avanzado. Para las consultas, esta cuadrícula se conocía antes como la cuadrícula QBE.) de la consulta para definir un campo nuevo o bien en la fila Criterios para definir los criterios de un campo. Puede utilizar las subconsultas para:

Comprobar si existe un resultado de la subconsulta (mediante las palabras clave EXISTS o NOT EXISTS).

Buscar valores de la consulta principal que sean iguales, mayores o menores que los valores devueltos por la subconsulta (mediante las palabras reservadas ANY, IN o ALL).

Crear subconsultas dentro de las subconsultas (subconsultas anidadas).

Page 5: SQL Access

Ver, modificar o copiar una instrucción SQL de una consulta (MDB)

Si está familiarizado con SQL, puede que desee trabajar directamente con la instrucción SQL en la que se basa la consulta. O bien, puede que desee copiar la instrucción SQL y pegarla en otro lugar, como la propiedad RowSource de un cuadro de lista de un formulario o informe.

Abra la consulta con la que desea trabajar.

Haga clic en la flecha al lado de Vista ó en la barra de herramientas y, a continuación, haga clic en Vista SQL.

Microsoft Access presenta la instrucción SQL equivalente a lo creado en la vista Diseño.

Siga uno o varios de estos procedimientos:

Para modificar la instrucción SQL, escriba los cambios en ella.

Para copiar la instrucción SQL, seleccione una parte de ésta o su totalidad, copie el texto seleccionado y péguelo en un cuadro de propiedad o en el Editor de Microsoft Visual Basic, por ejemplo.

Para ver los cambios en la cuadrícula de diseño, haga clic en la flecha situada al lado del botón Ver de la barra de herramientas y, a continuación, haga clic en Vista Diseño.

Page 6: SQL Access

Instrucción SELECT

Indica al motor de base de datos Microsoft Jet que devuelva información de la base de datos como un conjunto de registros.

Sintaxis

SELECT [predicado] { * | tabla.* | [tabla.]campo1 [AS alias1] [, [tabla.]campo2 [AS alias2] [, ...]]}FROM expresióndetabla [, ...] [IN basededatosexterna][WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ][WITH OWNERACCESS OPTION]

La instrucción SELECT consta de las siguientes partes:

Parte Descripción

predicadoUno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW o TOP. Utilice el predicado para restringir el número de registros devueltos. Si no se especifica ninguno, el predeterminado es ALL.

* Especifica que se han seleccionado todos los campos de la tabla o tablas especificadas.

tabla Nombre de la tabla que contiene los campos de los cuales se seleccionan los registros.

campo1, campo2

Nombres de los campos que contienen los datos que desea recuperar. Si incluye más de un campo, se recuperan en el orden en que se han enumerado.

alias1, alias2

Nombres que se utilizan como encabezados de columna en tabla en vez de los nombres de columna originales.

expresióndetabla

Nombre de la tabla o tablas que contienen los datos que se desean recuperar.

basededatosexterna

Nombre de la base de datos que contiene las tablas de expresión de tabla si éstas no están en la base de datos actual.

Comentarios:

Para realizar esta operación, el motor de base de datos Microsoft® Jet busca la tabla o tablas especificadas, extrae las columnas elegidas, selecciona las filas que cumplen con los criterios y ordena o agrupa las filas resultantes en el orden especificado.

Page 7: SQL Access

Las instrucciones SELECT no modifican los datos de la base de datos.

SELECT es normalmente la primera palabra en una instrucción SQL. La mayoría de las instrucciones SQL son instrucciones SELECT o SELECT...INTO.

La sintaxis mínima de una instrucción SELECT es:

SELECT campos FROM tabla

Puede utilizar un asterisco (*) para seleccionar todos los campos de una tabla. El siguiente ejemplo selecciona todos los campos de la tabla Empleados:

SELECT * FROM Empleados;

Si se incluye un nombre de campo en más de una tabla en la cláusula FROM, ponga delante el nombre de la tabla y el operador . (punto). En el ejemplo siguiente, el campo Departamento está en la tabla Empleados y la tabla Supervisores. La instrucción SQL selecciona departamentos de la tabla Empleados y nombres de supervisores de la tabla Supervisores:

SELECT Empleados.Departamento, Supervisores.NombreSupervisorFROM Empleados INNER JOIN SupervisoresWHERE Empleados.Departamento = Supervisores.Departamento;

Cuando se crea un objeto Recordset, el motor de base de datos Microsoft Jet utiliza el nombre de campo de la tabla como nombre de objeto Field del objeto Recordset . Si desea un nombre de campo diferente o la expresión utilizada no implica ningún nombre para generar el campo, utilice la palabra reservada AS. El siguiente ejemplo utiliza el título Nacimiento para denominar al objeto devuelto Field en el objeto Recordset resultante:

SELECT FechaNacimientoAS Nacimiento FROM Empleados;

Siempre que utilice funciones de agregado o consultas que devuelvan nombres de objeto Field ambiguos o duplicados, debe utilizar la cláusula AS para proporcionar un nombre diferente para el objeto Field. El ejemplo siguiente utiliza el título Personal para denominar al objeto Field en el objeto Recordset resultante:

SELECT COUNT(IdEmpleado)AS Personal FROM Empleados;

Puede utilizar el resto de las cláusulas de la instrucción SELECT para aplicar restricciones adicionales y organizar los datos devueltos. Para obtener más información, vea el tema de la Ayuda relativo a la cláusula que esté utilizando.

Page 8: SQL Access

Cláusula FROM

Especifica las tablas o consultas que contienen los campos enumerados en la instrucción SELECT.

Sintaxis

SELECT listadecamposFROM expresióndetabla [IN basededatosexterna]

Una instrucción SELECT que contiene una cláusula FROM consta de las siguientes partes:

Parte Descripción

Listadecampos

Nombre del campo o campos que se van a recuperar junto con cualquier alias de nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

Expresióndetabla

Expresión que identifica una varias tablas de las que se recuperan datos. La expresión puede ser un solo nombre de tabla, un nombre de consulta guardado o un compuesto resultante de INNER JOIN, LEFT JOIN, o RIGHT JOIN.

basededatosexterna

Ruta de acceso completa de una base de datos externa que contiene todas las tablas de expresióndetabla.

Comentarios

Se requiere FROM a continuación de cualquier instrucción SELECT.

El orden de los nombres de tabla de expresióndetabla no es importante.

Para un mejor funcionamiento y facilidad de uso, se recomienda la utilización de una tabla vinculada en vez de una cláusula IN para recuperar datos de una base de datos externa.

El siguiente ejemplo muestra cómo puede recuperar datos de la tabla Empleados:

SELECT Apellidos, NombreFROM Empleados;

Page 9: SQL Access

Cláusula WHERE

Especifica a qué registros de las tablas enumeradas en la cláusula FROM afecta una instrucción SELECT, UPDATE o DELETE.

Sintaxis

SELECT listadecamposFROM expresióndetablaWHERE criterios

Una instrucción SELECT que contiene una cláusula WHERE consta de las siguientes partes:

Parte Descripción

listadecampos

Nombre del campo o campos que se van a recuperar junto con cualquier alias de nombre de campo, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

expresióndetabla

Nombre de la tabla o tablas de las cuales se recuperan datos.

criterios Expresión que deben cumplir los registros para ser incluidos en los resultados de la consulta.

Comentarios

El motor de base de datos Microsoft Jet selecciona los registros que cumplen las condiciones enumeradas en la cláusula WHERE. Si no especifica una cláusula WHERE, la consulta devuelve todas las filas de la tabla. Si especifica más de una tabla en la consulta y no incluye una cláusula WHERE ni una cláusula JOIN, la consulta genera un producto cartesiano de las tablas.

WHERE es opcional, pero cuando se incluye, sigue a FROM. Por ejemplo, puede seleccionar todos los empleados del departamento de ventas (WHERE Dept = 'Ventas') o todos los clientes de edades comprendidas entre los 18 y los 30 años (WHERE Edad Entre 18 Y 30).

Si no utiliza una cláusula JOIN para realizar operaciones de combinación de SQL en varias tablas, el objeto Recordset resultante no se podrá actualizar.

WHERE es similar a HAVING. WHERE determina los registros que se seleccionan. De igual modo, una vez que los registros se agrupan con GROUP BY, HAVING determina qué registros se muestran.

Utilice la cláusula WHERE para eliminar registros que no desea que se agrupen mediante la cláusula GROUP BY.

Utilice varias expresiones para determinar los registros que devuelve la instrucción SQL.

Page 10: SQL Access

Por ejemplo, la siguiente instrucción SQL selecciona a todos los empleados cuyos salarios superan los 21.000€:

SELECT Apellidos, SalarioFROM EmpleadosWHERE Salario > 21000;

Una cláusula WHERE puede contener hasta un máximo de 40 expresiones unidas por operadores lógicos, como Y y O.

Cuando introduzca un nombre de campo que contiene un espacio o puntuación, escriba el nombre entre corchetes ([ ]). Por ejemplo, una tabla de información de clientes puede incluir información acerca de clientes específicos:

SELECT [Restaurante favorito del cliente]

Cuando especifique el argumento de los criterios, los literales de fecha deben estar en el formato de EE.UU., aunque no esté utilizando el motor de base de datos Microsoft® Jet con la versión de EE.UU. Por ejemplo, el 10 de mayo de 1996, se escribe 10/5/96 en el Reino Unido y 5/10/96 en los Estados Unidos. Asegúrese de escribir los literales de fecha entre el símbolo de almohadilla (#) como se muestra en los siguientes ejemplos.

Para buscar registros fechados el 10 de mayo de 1996 en una base de datos del Reino Unido, debe utilizar la siguiente instrucción SQL:

SELECT *FROM PedidosWHERE FechaEnvío = #5/10/96#;

También puede utilizar la función DateValue que tiene en cuenta la configuración internacional establecida por Microsoft Windows®. Por ejemplo, utilice este código para los Estados Unidos:

SELECT *FROM PedidosWHERE FechaEnvío = DateValue('5/10/96');

Utilice este código para el Reino Unido:

SELECT *FROM PedidosWHERE FechaEnvío = DateValue('10/5/96');

Nota Si la columna a la que se hace referencia en la cadena de criterios es de tipo GUID , la expresión de criterios utiliza una sintaxis un poco diferente:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Asegúrese de incluir los corchetes y guiones anidados de la forma indicada.

Page 11: SQL Access

Operación INNER JOIN

Combina registros de dos tablas siempre que haya valores coincidentes en un campo común.

Sintaxis

FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 operadordecomparación tabla2.campo2

La operación INNER JOIN consta de las siguientes partes:

Parte Descripción

tabla1, tabla2

Nombres de las tablas cuyos registros se combinan.

campo1, campo2

Nombres de los campos que se combinan. Si no son numéricos, los campos deben ser del mismo tipo de datos y contener la misma clase de datos, pero no tienen que tener el mismo nombre.

operadordecomparación

Cualquier operador de comparación relacional: "=," "<," ">," "<=," ">=," o "<>."

Comentarios

Puede utilizar una operación INNER JOIN en cualquier cláusula FROM. Éste es el tipo más común de combinación. La combinación interna combina registros de dos tablas siempre que haya valores coincidentes en un campo común a ambas tablas.

Puede utilizar INNER JOIN con las tablas Departamentos y Empleados para seleccionar todos los empleados de cada departamento. Por el contrario, para seleccionar todos los departamentos (incluso si algunos no tienen asignado ningún empleado) o todos los empleados (incluso si algunos no están asignados a un departamento), puede utilizar una operación LEFT JOIN o RIGHT JOIN a fin de crear una combinación externa .

Si trata de combinar campos que contienen datos Memo o un Objeto OLE, se producirá un error.

Puede combinar cualquier par de campos numéricos de tipos similares. Por ejemplo, puede combinar los campos Autonumérico y Largo porque son tipos similares. Sin embargo, no puede combinar los tipos de campos Simple y Doble.

El siguiente ejemplo muestra cómo podría combinar las tablas Categorías y Productos en el campo IdCategoría:

SELECT NombreCategoría, NombreProductoFROM Categorías INNER JOIN ProductosON Categorías.IdCategoría = Productos.IdCategoría;

Page 12: SQL Access

En el ejemplo anterior, IdCategoría es el campo combinado, pero no está incluido en el resultado de la consulta porque no está incluido en la instrucción SELECT. Para incluir el campo combinado, incluya el nombre del campo en la instrucción SELECT, en este caso, Categorías.IdCategoría.

También puede unir varias cláusulas ON en una instrucción JOIN mediante la siguiente sintaxis:

SELECT camposFROM tabla1 INNER JOIN tabla2ON tabla1.campo1 operadordecomparación tabla2.campo1 ANDON tabla1.campo2 operadordecomparación tabla2.campo2) ORON tabla1.campo3 operadordecomparación tabla2.campo3)];

También puede anidar instrucciones JOIN mediante la siguiente sintaxis:

SELECT camposFROM tabla1 INNER JOIN(tabla2 INNER JOIN [( ]tabla3[INNER JOIN [( ]tablax [INNER JOIN ...)] ON tabla3.campo3 operadordecomparación tablax.campox)]ON tabla2.campo2 operadordecomparación tabla3.campo3) ON tabla1.campo1 operadordecomparación tabla2.campo2;

Las operaciones LEFT JOIN o RIGHT JOIN pueden estar anidadas dentro de una operación INNER JOIN, pero una operación INNER JOIN no puede estar anidada dentro de las operaciones LEFT JOIN o RIGHT JOIN.

Page 13: SQL Access

Operaciones LEFT JOIN, RIGHT JOIN

Combina registros de la tabla origen cuando se utiliza en cualquier cláusula FROM.

Sintaxis

FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2ON tabla1.campo1 operadordecomparación tabla2.campo2

Las operaciones LEFT JOIN y RIGHT JOIN constan de las siguientes partes:

Parte Descripción

tabla1, tabla2

Nombres de las tablas cuyos registros se combinan.

campo1, campo2

Nombres de los campos que se combinan. Estos campos deben ser del mismo tipo de datos y contener la misma clase de datos, pero no tienen que tener el mismo nombre.

operadordecomparación

Cualquier operador de comparación relacional: "=," "<," ">," "<=," ">=," o "<>."

Comentarios

Utilice una operación LEFT JOIN para crear una combinación externa por la izquierda. Las combinaciones externas por la izquierda incluyen todos los registros desde la primera de dos tablas (izquierda), incluso si no hay valores coincidentes para los registros en la segunda tabla (derecha).

Utilice una operación RIGHT JOIN para crear una combinación externa por la derecha. Las combinaciones externas por la derecha incluyen todos los registros desde la segunda de dos tablas (derecha), incluso si no hay valores coincidentes para los registros en la primera tabla (izquierda).

Por ejemplo, podría utilizar LEFT JOIN con las tablas Departamentos (izquierda) y Empleados (derecha) para seleccionar todos los departamentos, incluyendo aquellos que no tienen asignados ningún empleado. Para seleccionar todos los empleados, incluyendo los que no están asignados a ningún departamento, podría utilizar RIGHT JOIN.

El siguiente ejemplo muestra cómo se podrían combinar las tablas Categorías y Productos en el campo IdCategoría. La consulta produce una lista de todas las categorías, incluyendo las que no contienen ningún producto:

SELECT NombreCategoría,NombreProductoFROM Categorías LEFT JOIN ProductosON Categorías.IdCategoría = Productos.IdCategoría;

En este ejemplo, IdCategoría es el campo combinado, pero no está incluido en los

Page 14: SQL Access

resultados de la consulta porque no está incluido en la instrucción SELECT. Para incluir el campo combinado, introduzca el nombre del campo en la instrucción SELECT, en este caso, Categorías.IdCategoría.

Notas

Para crear un consulta que incluya sólo los registros en los que los datos de los campos combinados son los mismos, utilice una operación INNER JOIN.

Las operaciones LEFT JOIN o RIGHT JOIN pueden estar anidadas dentro de una operación INNER JOIN, pero una operación INNER JOIN no puede estar anidada dentro de las operaciones LEFT JOIN o RIGHT JOIN. Vea la descripción del procedimiento para anidar unas combinaciones dentro de otras en el tema INNER JOIN.

Puede unir varias cláusulas ON. Vea la descripción del procedimiento para vincular cláusulas en el tema INNER JOIN.

Si trata de combinar campos que contienen datos Memo o un Objeto OLE, se producirá un error.

Page 15: SQL Access

Operación UNION

Crea una consulta de unión, que combina los resultados de dos o más tablas o consultas independientes.

Sintaxis

[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE] consultan [ ... ]]

La operación UNION consta de las siguientes partes:

Parte Descripción

consulta1-n

Una instrucción SELECT, el nombre de una consulta almacenada o el nombre de una tabla almacenada precedida por la palabra clave TABLE.

Comentarios

Puede combinar los resultados de dos o más consultas, tablas e instrucciones SELECT en cualquier combinación, con una única operación UNION. El siguiente ejemplo combina una tabla existente denominada Nuevas cuentas y una instrucción SELECT:

TABLE [Nuevas cuentas] UNION ALLSELECT *FROM ClientesWHERE CantidadPedido > 1000;

Cuando se utiliza una operación UNION, de manera predeterminada no se devuelven registros duplicados; no obstante, puede incluir el predicado ALL para asegurarse de que se devuelven todos los registros, lo cual hace que la consulta se ejecute más rápido.

Todas las consultas de una operación UNION deben solicitar el mismo número de campos; sin embargo, los campos no tienen que ser del mismo tamaño ni del mismo tipo de datos .

Utilice alias solamente en la primera instrucción SELECT ya que se pasan por alto en las restantes. En la cláusula ORDER BY, haga referencia a los campos según se denominan en la primera instrucción SELECT.

Notas

Puede utilizar una cláusula GROUP BY o HAVING en cada argumento de la consulta para agrupar los datos devueltos.

Puede utilizar una cláusula ORDER BY al final del último argumento de la consulta para mostrar los datos devueltos en un orden especificado.

Page 16: SQL Access

Predicados ALL, DISTINCT, DISTINCTROW, TOP

Especifica registros seleccionados con consultas SQL

Sintaxis

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]FROM tabla

Una instrucción SELECT que contiene estos predicados consta de las siguientes partes:

Parte Descripción

ALL

Se supone si no se incluye uno de los predicados. El motor de base de datos Microsoft Jet selecciona todos los registros que cumplen las condiciones de la instrucción SQL . Los dos ejemplos siguientes son equivalentes y devuelven todos los registros de la tabla Empleados:

SELECT ALL *FROM EmpleadosORDER BY IdEmpleado;

SELECT *FROM EmpleadosORDER BY IdEmpleado;

DISTINCT

Omite los registros que contienen datos duplicados en los campos seleccionados. Para ser incluidos en los resultados de la consulta, los valores de cada campo enumerado en la instrucción SELECT deben ser únicos. Por ejemplo, varios empleados incluidos en la tabla Empleados pueden tener el mismo apellido. Si dos registros contienen Pérez en el campo Apellidos, la siguiente instrucción SQL devuelve sólo un registro que contenga Pérez:

SELECT DISTINCTApellidosFROM Empleados;

Si omite DISTINCT, esta consulta devuelve los dos registros con Pérez.

Si la cláusula SELECT contiene más de un campo, la combinación de valores de todos los campos debe ser única para que un determinado registro se incluya en los resultados.

El resultado de una consulta que utiliza DISTINCT no se puede actualizar y no refleja los cambios subsiguientes que han realizado otros usuarios.

DISTINCTROW

Omite datos que se basan en registros completamente duplicados, no sólo en campos duplicados. Por ejemplo, puede crear una consulta que combine las tablas Clientes y Pedidos en el campo IdCliente. La tabla Clientes no contiene campos IdCliente duplicados, pero la tabla Pedidos sí, porque cada cliente puede

Page 17: SQL Access

tener muchos pedidos. La siguiente instrucción SQL muestra cómo puede utilizar DISTINCTROW para crear una lista de compañías que han realizado al menos un pedido pero sin los detalles acerca de dichos pedidos:

SELECT DISTINCTROW NombreCompañíaFROM Clientes INNER JOIN PedidosON Clientes.IDCliente = Pedidos.IdClienteORDER BY NombreCompañía;

Si omite DISTINCTROW, esta consulta produce varias filas para cada compañía que tenga más de un pedido.

DISTINCTROW tiene efecto sólo cuando se seleccionan campos de algunas pero no de todas las tablas utilizadas en la consulta. DISTINCTROW se omite si la consulta incluye sólo una tabla o si incluye en los resultados campos de todas las tablas.

TOP n [PERCENT]

Devuelve cierto número de registros que se hallan en la parte superior o inferior de un intervalo especificado por una cláusula ORDER BY. Suponga que desea ver los nombres de los 25 mejores estudiantes del curso 1994:

SELECT TOP 25Nombre, ApellidosFROM EstudiantesWHERE AñoEscolar = 1994ORDER BY NotaMedia DESC;

Si no incluye la cláusula ORDER BY, la consulta devolverá un conjunto arbitrario de 25 registros de la tabla Estudiantes que satisfagan la cláusula WHERE.

El predicado TOP no elige entre valores iguales. En el ejemplo anterior, si las notas medias más altas de los puestos vigésimo quinto y vigésimo sexto son iguales, la consulta devolverá 26 registros.

También puede utilizar la palabra reservada PERCENT para devolver cierto porcentaje de los registros que se hallan en la parte superior e inferior del intervalo especificado por una cláusula ORDER BY. Imagine que, en vez de los 25 mejores estudiantes, desea ver el 10 por ciento inferior de la clase:

SELECT TOP 10 PERCENTNombre, ApellidosFROM EstudiantesWHERE AñoEscolar = 1994ORDER BY NotaMedia ASC;

El predicado ASC especifica una devolución de los valores inferiores. El valor que sigue TOP debe ser un Entero sin signo .

Page 18: SQL Access

TOP no influye en si la consulta se puede o no actualizar.

tabla Nombre de la tabla de la cual se recuperan los registros.

Cláusula ORDER BY

Ordena los registros resultantes de una consulta en un campo o campos especificados en orden ascendente o descendente.

Sintaxis

SELECT listadecamposFROM tablaWHERE criteriosdeselección[ORDER BY campo1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]

Una instrucción SELECT que contiene una cláusula ORDER BY consta de las siguientes partes:

Parte Descripción

listadecampos

Nombre del campo o campos que se van a recuperar junto con cualquier alias de nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

tabla Nombre de la tabla de la cual se recuperan los registros.

criteriosdeselección

Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft Jet ordena los valores después de aplicar las condiciones WHERE a los registros.

campo1, campo2

Nombres de los campos en los que se ordenan registros.

Comentarios

ORDER BY es opcional. Sin embargo, si desea que los datos se muestren ordenados, debe utilizarla.

El orden predeterminado es ascendente (A a la Z, 0 a 9). Los dos ejemplos siguientes ordenan los nombres de los empleados por los apellidos:

SELECT Apellidos, NombreFROM Empleados;ORDER BY Apellidos;SELECT Apellidos, NombreFROM Empleados;

Page 19: SQL Access

ORDER BY Apellidos ASC;

Para ordenar en forma descendente (Z a la A, 9 a 0), agregue la palabra reservada DESC al final de cada campo que desee ordenar en forma descendente. El ejemplo siguiente selecciona los salarios y los pone en orden descendente:

SELECT Apellidos, SalarioFROM Empleados;ORDER BY Salario DESC, Apellidos;

Si especifica un campo que contiene datos Memo o un objeto OLE en la cláusula ORDER BY, se produce un error. El motor de base de datos Microsoft Jet no ordena en estos tipos de campos.

ORDER BY es normalmente el último elemento en una instrucción SQL.

Puede incluir campos adicionales en la cláusula ORDER BY. Los registros se ordenan empezando por el primer campo enumerado después de ORDER BY. Los registros que tienen valores iguales en ese campo se ordenan por el valor del segundo campo enumerado, y así sucesivamente.

Instrucción SELECT...INTO

Crea una consulta de creación de tabla .

Sintaxis

SELECT campo1[, campo2[, ...]] INTO tablanueva [IN basededatosexterna]FROM origen

La instrucción SELECT...INTO consta de las siguientes partes:

Parte Descripción

campo1, campo2

Nombre de los campos que se van a copiar en la tabla nueva.

tablanueva

Nombre de la tabla que se va a crear. Debe cumplir las convenciones estándar de nomenclatura. Si tablanueva coincide con el nombre de una tabla existente, se producirá un error interceptable.

basededatosexterna

Ruta de acceso a una base de datos externa. Si desea una descripción de la ruta de acceso, vea la cláusula IN.

origen Nombre de la tabla existente de la cual se seleccionan los registros. Pueden ser una o varias tablas o una consulta.

Comentarios

Puede utilizar consultas de creación de tabla para archivar registros, hacer copias de

Page 20: SQL Access

seguridad de las tablas, hacer copias para exportar a otra base de datos o copias para utilizar como base de informes que muestran datos de un periodo de tiempo determinado. Por ejemplo, podría producir un informe sobre Ventas mensuales por región ejecutando la misma consulta de creación de tabla cada mes.

Notas

Es posible que desee definir una clave principal para la tabla nueva. Cuando crea la tabla, los campos de la tabla nueva heredan el tipo de datos y el tamaño de campo de cada uno de los campos de las tablas subyacentes de la consulta, pero no se transfiere ninguna otra propiedad de tabla o de campo.

Para agregar datos a una tabla existente, utilice la instrucción INSERT INTO en lugar de crear una consulta de datos anexados .

Para averiguar qué registros se van a seleccionar antes de ejecutar la consulta de creación de tabla, examine antes los resultados de una instrucción SELECT que utilice los mismos criterios de selección.

Cláusula IN

Identifica las tablas de cualquier base de datos externa a la cual se puede conectar el motor de base de datos Microsoft Jet, como las bases de datos dBASE o Paradox, o una base de datos Microsoft® Jet externa.

Sintaxis

Para identificar una tabla de destino:

[SELECT | INSERT] INTO destino IN{ruta de acceso | ["ruta de acceso" "tipo"] | ["" [tipo; DATABASE = ruta de acceso]]}

Para identificar una tabla de origen:

FROM expresióndetabla IN{ruta de acceso | ["ruta de acceso" "tipo"] | ["" [tipo; DATABASE = ruta de acceso]]}

Una instrucción SELECT que contiene una cláusula IN consta de las siguientes partes:

Parte Descripción

destino Nombre de la tabla externa en la cual se insertan datos.

expresióndetabla

Nombre de la tabla o tablas de las cuales se recuperan datos. Este argumento puede ser un solo nombre de tabla, un nombre de consulta guardado o un compuesto que es el resultado de INNER JOIN, LEFT JOIN o RIGHT JOIN.

ruta de acceso

Ruta de acceso completa del directorio o archivo que contiene tabla.

Page 21: SQL Access

tipoNombre del tipo de base de datos utilizado para crear tabla si no se trata de una base de datos Microsoft Jet (por ejemplo, dBASE III, dBASE IV, Paradox 3.x o Paradox 4.x).

Comentarios

Puede utilizar IN para conectarse a una sola base de datos externa a la vez.

En algunos casos, el argumento de la ruta de acceso hace referencia al directorio que contiene los archivos de la base de datos. Por ejemplo, cuando trabaje con tablas de bases de datos dBASE, Microsoft FoxPro® o Paradox, el argumento de la ruta de acceso especifica el directorio que contiene archivos .dbf o .db. El nombre de archivo de la tabla depende del argumento destino o expresióndetabla.

Para especificar una base de datos que no sea Microsoft Jet, se anexa un punto y coma (;) al nombre y se escribe entre comillas simples (' ') o dobles (" "). Por ejemplo, se acepta 'dBASE IV;' o "dBASE IV;".

También puede utilizar la palabra reservada DATABASE para especificar la base de datos externa. Por ejemplo, las siguientes líneas especifican la misma tabla:

... FROM Tabla IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;];

... FROM Tabla IN "C:\DBASE\DATA\SALES" "dBASE IV;"

Notas

Para un mejor funcionamiento y facilidad de uso, utilice una tabla vinculada en vez IN.

También puede utilizar la palabra reservada IN como operador de comparación de una expresión.

Cláusula GROUP BY

Combina registros con valores idénticos en la lista de campos especificados en un único registro. Si incluye una función de agregado de SQL, como Suma o Cuenta en la instrucción SELECT, se crea un valor de resumen.

Sintaxis

SELECT listadecamposFROM tablaWHERE criterios[GROUP BY listadecamposdegrupo]

Una instrucción SELECT que contiene una cláusula GROUP BY consta de las siguientes partes:

Parte Descripción

listadeca Nombre del campo o campos que se van a recuperar junto con cualquier alias de

Page 22: SQL Access

mpos nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

tabla Nombre de la tabla de la cual se recuperan los registros.

criteriosCriterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft Jet agrupa los valores después de aplicar las condiciones WHERE a los registros.

listadecamposdegrupo

Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más bajo.

Comentarios

GROUP BY es opcional

Los valores de resumen se omiten si no hay una función de agregado de SQL en la instrucción SELECT.

Los valores Nulos de los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Nulos no se evalúan en ninguna función de agregado de SQL.

Utilice la cláusula WHERE para excluir filas que no desea que estén agrupadas; utilice la cláusula HAVING para filtrar registros después de que hayan sido agrupados.

A menos que contenga datos Memo o un Objeto OLE un campo de la lista de campos GROUP BY puede hacer referencia a cualquier campo de cualquier tabla enumerada en la cláusula FROM, incluso si el campo no se incluye en la instrucción SELECT, siempre y cuando la instrucción SELECT incluya al menos una función de agregado de SQL. El motor de base de datos Microsoft® Jet no puede formar grupos en los campos Memo u Objeto OLE.

Todos los campos de la lista de campos SELECT deben estar incluidos en la cláusula GROUP BY o estar incluidos como argumentos de una función de agregado de SQL.

Cláusula HAVING

Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula GROUP BY. Después de que GROUP BY combine los registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.

Sintaxis

SELECT listadecamposFROM tablaWHERE criteriosdeselecciónGROUP BY listadecamposdegrupo

Page 23: SQL Access

[HAVING criteriosdegrupo]

Una instrucción SELECT que contiene una cláusula HAVING consta de las siguientes partes:

Parte Descripción

listadecampos

Nombre del campo o campos que se van a recuperar junto con cualquier alias de nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

tabla Nombre de la tabla de la cual se recuperan los registros.

criteriosdeselección

Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft Jet agrupa los valores después de aplicar las condiciones WHERE a los registros.

listadecamposdegrupo

Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más bajo.

criteriosdegrupo

Expresión que determina los registros agrupados que se muestran.

Comentarios

HAVING es opcional.

HAVING es similar a WHERE, que determina los registros que se seleccionan. Después de que los registros se agrupen con GROUP BY, HAVING determina qué registros se muestran:

SELECT IdCategoría,Suma(UnidadesEnExistencia)FROM ProductosGROUP BY IdCategoríaHAVING Suma(UnidadesEnExistencias) > 100 Y Como "BOS*";

Una cláusula HAVING puede contener hasta un máximo de 40 expresiones unidas por operadores lógicos, como Y y O.

Instrucción DELETE

Crea una consulta de eliminación que elimina registros de una o varias tablas enumeradas en la cláusula FROM que satisfagan la cláusula WHERE.

Sintaxis

DELETE [tabla.*]FROM tablaWHERE criterios

Page 24: SQL Access

La instrucción DELETE consta de las siguientes partes:

Parte Descripción

tabla Nombre opcional de la tabla de la cual se eliminan los registros.

tabla Nombre de la tabla de la cual se eliminan los registros.

criterios Expresión que determina qué registros se eliminan.

Comentarios

DELETE le será especialmente útil cuando desee eliminar muchos registros.

Para quitar una tabla completa de la base de datos, puede utilizar el método Execute con una instrucción DROP. Sin embargo, si elimina la tabla, la estructura se pierde. Por el contrario, cuando utiliza DELETE, sólo se eliminan los datos; la estructura de la tabla y todas las propiedades de la misma, como atributos de campos e índices, permanecen intactos.

Puede utilizar DELETE para eliminar registros de tablas que están en una relación de uno a varios con otras tablas. Las operaciones de eliminación en cascada hacen que los registros de las tablas que están en la parte varios de la relación se eliminen cuando el registro correspondiente de la parte uno de la relación se elimina de la consulta. Por ejemplo, en la relación entre las tablas Clientes y Pedidos, la tabla Clientes está en la parte uno y la tabla Pedidos está en la parte varios de la relación. La eliminación de un registro de Clientes tendrá como resultado que se eliminen los registros correspondientes de Pedidos si se especifica la opción de eliminación en cascada.

Las consultas de eliminación eliminan registros completos, no sólo los datos de campos específicos. Si desea eliminar los valores de un campo específico, cree una consulta de actualización que cambia los valores a Nulos.

Importante

Después de eliminar los registros mediante una consulta de eliminación, no se puede deshacer la operación. Si desea saber qué registros se han eliminado, examine primero los resultados de una consulta de selección que utiliza los mismos criterios, y, a continuación, ejecute la consulta de eliminación.

Mantenga constantemente copias de seguridad de los datos. De esta forma, si elimina registros equivocados, podrá recuperarlos a partir de las copias de seguridad.

Instrucción UPDATE

Crea una consulta de actualización que modifica los valores de los campos de una tabla especificada basándose en los criterios especificados.

Page 25: SQL Access

Sintaxis

UPDATE tablaSET nuevovalorWHERE criterios;

La instrucción UPDATE consta de las siguientes partes:

Parte Descripción

tabla Nombre de la tabla que contiene los datos que desea modificar.

nuevovalor

Expresión que determina el valor que se va a insertar en un determinado campo de los registros actualizados.

criterios

Expresión que determina qué registros serán actualizados. Sólo se actualizarán los registros que cumplan la expresión.

Comentarios

UPDATE es especialmente útil cuando desea modificar muchos registros o cuando los registros que desea modificar están en varias tablas.

Puede modificar varios campos a la vez. El ejemplo siguiente aumenta los valores de Cantidad de pedido en un 10 por ciento y los valores de Gastos de envío en un 3 por ciento para las compañías de transportes del Reino Unido:

UPDATE PedidosSET CantidadPedido = CantidadPedido * 1,1,Gastos de envío = Gastos de envío * 1,03WHERE PaísDestinatario = 'UK';

Importante

UPDATE no genera un conjunto de resultados. Asimismo, después de actualizar los datos mediante una consulta de actualización, no puede deshacer la operación. Si desea saber qué registros han sido actualizados, examine antes los resultados de una consulta de selección que utilice los mismos criterios, y, a continuación, ejecute la consulta de actualización.

Mantenga constantemente copias de seguridad de los datos. De esta forma, si actualiza registros equivocados, podrá recuperarlos a partir de las copias de seguridad.

Instrucción INSERT INTO

Agrega uno o varios registros a una tabla. Se conoce como consulta de datos anexados.

Page 26: SQL Access

Sintaxis

Consulta de datos anexados de varios registros:

INSERT INTO destino [(campo1[, campo2[, ...]])] [IN basededatosexterna]SELECT [origen.]campo1[, campo2[, ...]FROM expresióndetabla

Consulta de datos anexados de un solo registro:

INSERT INTO destino [(campo1[, campo2[, ...]])]VALUES (valor1[, valor2[, ...])

La instrucción INSERT INTO consta de las siguientes partes:

Parte Descripción

destino Nombre de la tabla o consulta a la que se van a anexar registros.

campo1, campo2

Nombres de los campos a los que se van a anexar datos, si van a continuación de un argumento destino, o nombres de los campos de los que se obtienen datos, si van a continuación de un argumento origen.

basededatosexterna

Ruta de acceso a una base de datos externa. Si desea una descripción de la ruta de acceso, vea la cláusula IN.

origen Nombre de la tabla o consulta de la que se van a copiar datos.

expresióndetabla

Nombre de la tabla o tablas de las cuales se insertan datos. Este argumento puede ser un solo nombre de tabla o un compuesto resultante de una operación INNER JOIN, LEFT JOIN o RIGHT JOIN o una consulta guardada.

valor1, valor2

Valores a insertar dentro de campos específicos de un registro nuevo. Cada valor se inserta en el campo que corresponde a la posición del valor en la lista: el valor1 se inserta en el campo1 del nuevo registro, el valor2 en el campo2, y así sucesivamente. Debe separar los valores con una coma y escribir los campos de texto entre comillas (' ').

Comentarios

Puede utilizar la instrucción INSERT INTO para agregar un solo registro a una tabla mediante la sintaxis de consulta de datos anexados de un solo registro como se ha mostrado anteriormente. En este caso, el código especifica el nombre y el valor de cada campo del registro. Debe especificar cada uno de los campos del registro a los que se va a asignar un valor y un valor para ese campo. Si no especifica cada campo, el valor predeterminado o Nulo se inserta para las columnas que faltan. Los registros se agregan al final de la tabla.

También puede utilizar INSERT INTO para anexar un conjunto de registros de otra tabla o consulta mediante la cláusula SELECT ... FROM como se ha mostrado previamente en la

Page 27: SQL Access

sintaxis de consulta de datos anexados de varios registros. En este caso, la cláusula SELECT especifica los campos que se van a anexar a la tabla destino especificada.

La tabla origen o destino puede especificar una tabla o una consulta. Si se especifica una consulta, el motor de base de datos Microsoft Jet anexa registros a todas y cada una de las tablas especificadas en la consulta.

INSERT INTO es opcional, pero cuando se utiliza, precede a la instrucción SELECT.

Si la tabla de destino contiene una clave primaria , asegúrese de que anexa valores exclusivos no Nulos al campo o campos de la clave primaria ; si no lo hace, el motor de base de datos Microsoft Jet no anexará los registros.

Si anexa registros a una tabla con un campo Autonumérico y desea volver a numerar los registros anexados, no incluya el campo Autonumérico en su consulta. Pero inclúyalo si desea conservar los valores originales del campo.

Utilice la cláusula IN para anexar registros a una tabla de otra base de datos.

Para crear una tabla nueva, utilice la instrucción SELECT... INTO en vez de crear una consulta de creación de tabla .

Para averiguar qué registros se van a anexar antes de ejecutar una consulta de datos anexados, ejecute y vea primero los resultados de una consulta de selección que utilice los mismos criterios de selección.

Las consultas de datos anexados copian registros de una o varias tablas a otra. Estas consultas no afectan a las tablas que contienen los registros que se anexan.

En vez de anexar registros existentes de otra tabla, puede especificar el valor de cada campo de un solo registro nuevo mediante la cláusula VALUES. Si omite la lista de campos, la cláusula VALUES debe incluir un valor para cada campo de la tabla; de lo contrario, la operación INSERT fallará. Utilice una instrucción adicional INSERT INTO con una cláusula VALUES para cada registro adicional que desee crear.

Declaración WITH OWNERACCESS OPTION

En un entorno multiusuario con un grupo de trabajo con la seguridad habilitada, utilice esta declaración con una consulta para dar al usuario que ejecuta la consulta los mismos permisos que tiene el propietario de la consulta.

Sintaxis

instrucciónsqlWITH OWNERACCESS OPTION

Page 28: SQL Access

Comentarios

La declaración WITH OWNERACCESS OPTION es opcional.

El siguiente ejemplo permite al usuario ver la información acerca del salario (aunque no tenga permiso de otra manera para ver la tabla Nóminas), siempre y cuando el propietario de la tabla tenga ese permiso:

SELECT Apellidos,Nombre, SalarioFROM EmpleadosORDER BY Apellidos;WITH OWNERACCESS OPTION;

Si a un usuario se le ha impedido crear una tabla o agregar datos a una tabla, puede utilizar WITH OWNERACCESS OPTION para permitirle ejecutar una consulta de creación de tabla o una consulta de datos anexados.

Si desea imponer la configuración de seguridad del grupo de trabajo y los permisos de los usuarios, no incluya la declaración WITH OWNERACCESS OPTION.

Esta opción requiere que usted tenga acceso al archivo System.mdw asociado a la base de datos. Es útil sólo para las implementaciones multiusuario con la seguridad habilitada.

Funciones SQL agregadas

Mediante las funciones agregadas SQL , puede determinar varias estadísticas relacionadas con conjuntos de valores. Puede utilizar estas funciones en una consulta y agregar expresiones en la propiedad SQL de un objeto QueryDef, o al crear un objeto de conjunto de registros basado en una consulta SQL.

Función Promedio (Avg) Función Cuenta Funciones Primero (First), Último (Last) Funciones Mín (Min), Máx (Max) Funciones DesvEst (StDev), DesvEstP (StDevP) Función Suma Funciones Var, VarP

Función Promedio

Calcula la media aritmética de un conjunto de valores de un campo específico de una consulta.

Sintaxis

Prom(expr)

Page 29: SQL Access

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos numéricos de los que desea obtener el promedio o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

El promedio calculado por Prom es la media aritmética (la suma de los valores dividida entre el número de valores). Puede utilizar Prom, por ejemplo, para calcular el promedio de los gastos de envío.

La función Prom no incluye ningún campo Nulo en el cálculo.

Puede utilizar Prom en una expresión de consulta y en la propiedad SQL del objeto QueryDef o cuando cree un objeto Recordset basado en una consulta SQL.

Funciones First y Last

Devuelven un valor de campo del primer o del último registro en el conjunto de resultados devueltos por una consulta.

Sintaxis

First(expr)

Last(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos que desea utilizar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

Métodos First y Last MoveFirst y MoveLast de un objeto Recordset de DAO. Devuelven simplemente el valor de un campo especificado en el primer o el último registro, respectivamente, del conjunto de resultados devueltos por una consulta. Debido a que los registros se devuelven normalmente sin un orden determinado (a no ser que la consulta incluya una cláusula ORDER BY), los registros devueltos por estas funciones son arbitrarios.

Funciones Mín y Máx

Devuelven el mínimo o el máximo de un conjunto de valores de un campo especificado en una consulta.

Page 30: SQL Access

Sintaxis

Mín(expr)

Máx(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos que desea evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

Puede utilizar Mín y Máx para determinar los valores superiores e inferiores de un campo basándose en la agregación especificada o agrupación. Por ejemplo, podría utilizar estas funciones para devolver los gatos de envío más altos y más bajos. Si no hay ninguna agregación especificada, se utiliza la tabla completa.

Puede utilizar Mín y Máx en una expresión de

Funciones DesvEst y DesvEstP

Devuelven cálculos de la desviación estándar de una población y una muestra de población para un conjunto de valores de un campo especificado en una consulta.

Sintaxis

DesvEst(expr)

DesvEstP(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos numéricos que desea evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

La función DesvEstP evalúa una población y la función DesvEst evalúa una muestra de población.

Si la consulta subyacente contiene menos de dos registros (o ningún registro para la función DesvEstP), estas funciones devuelven un valor Nulo (que indica que no se puede calcular la desviación estándar).

Puede utilizar las funciones DesvEst y DesvEstP en una expresión de consulta. También puede utilizar esta expresión en la propiedad SQL de un objeto QueryDef o cuando cree

Page 31: SQL Access

un objeto Recordset basado en una consulta SQL.

Funciones Var y VarP

Devuelven cálculos de la varianza de una población o una muestra de población representada como un conjunto de valores de un campo especificado en una consulta.

Sintaxis

Var(expr)

VarP(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos numéricos que desea evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

La función VarP evalúa una población y la función Var evalúa una muestra de población.

Si la consulta subyacente contiene menos de dos registros, las funciones Var y VarP devuelven un valor Nulo, que indica que no se puede calcular la varianza.

Puede utilizar las funciones Var y VarP en una expresión de consulta o en una instrucción SQL .

Función Suma

Devuelve la suma de un conjunto de valores de un campo específico de una consulta.

Sintaxis

Suma(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos numéricos que desea sumar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).

Comentarios

La función Suma suma los valores de un campo. Por ejemplo, puede utilizar la función Suma para determinar el coste total de los gastos de envío.

Page 32: SQL Access

La función Suma pasa por alto los registros que contienen campos Nulos . El siguiente ejemplo muestra cómo puede calcular la suma de los productos de los campos PrecioUnidad y Cantidad:

SELECTSuma(PrecioUnidad * Cantidad)AS [Ingresos totales] FROM [Detalles pedido];

Puede utilizar la función Suma en una expresión de consulta. También puede utilizar esta expresión en la propiedad SQL de un objeto QueryDef o cuando cree un objeto Recordset basado en una consulta SQL.

Función Cuenta

Calcula el número de registros que devuelve una consulta.

Sintaxis

Cuenta(expr)

El marcador de posición expr representa una expresión de cadena que identifica el campo que contiene los datos que desea contar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden incluir el nombre de un campo de tabla o una función (que puede ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL). Puede contar cualquier clase de datos, incluido texto.

Comentarios

Puede utilizar Cuenta para contar el número de registros de una consulta base. Por ejemplo, puede utilizar Cuenta para contar el número de pedidos enviados a un determinado país.

Aunque expr puede realizar el cálculo de un campo, Cuenta cuenta simplemente el número de registros, sin importar los valores que estén almacenados en los mismos.

La función Cuenta no cuenta los registros que tienen campos Nulos a no ser que expr sea el carácter comodín asterisco (*). Si utiliza un asterisco, Cuenta calcula el número total de registros, incluyendo aquéllos que contienen campos Nulos. Cuenta(*) es considerablemente más rápido que Cuenta([Nombre de columna]). No ponga el asterisco entre comillas (' '). En el siguiente ejemplo se calcula el número de registros de la tabla Pedidos:

SELECT Cuenta(*)AS PedidosTotales FROM Pedidos;

Si expr identifica varios campos, la función Cuenta cuenta un registro sólo si al menos uno de los campos no es Nulo. Si todos los campos especificados son Nulos, el registro no se cuenta. Separe los nombres del campo con el signo (&). El ejemplo siguiente muestra cómo puede limitar el recuento a los registros en los cuales FechaDeEnvío o Gastos de

Page 33: SQL Access

envío no es Nulo:

SELECTCuenta('FechaDeEnvío & Gastos de envío')AS [No Nulo] FROM Pedidos;

Puede utilizar Cuenta en una expresión de consulta. También puede utilizar esta expresión en la propiedad SQL de un objeto QueryDef o cuando cree un objeto Recordset basado en una consulta SQL.

Ejemplo de cómo utilizar Visual Basic para cambiar una instrucción SQL de una consulta

Puede usar la propiedad SQL de un objeto QueryDef para cambiar la instrucción SQL base de una consulta. Por ejemplo, el siguiente bloque de código de Microsoft Visual Basic cambia la instrucción SQL base de la consulta ListaEmpleados para que la consulta seleccione todos los registros de la tabla Empleados:

Dim dbsCurrent As DatabaseDim qryTest As QueryDef

Set dbsCurrent = CurrentDbSet qryTest = dbsCurrent.QueryDefs("Employee List")qryTest.SQL = "SELECT * FROM Employees;"

Page 34: SQL Access

Glosario

A

Alias

Visual Basic: otro nombre que se da a un procedimiento externo para evitar conflictos con una palabra clave de Microsoft Visual Basic, una variable pública, una constante o un nombre no permitido en las convenciones de nomenclatura de Visual Basic. Lenguaje de consulta estructurado (SQL): otro nombre que se da a un campo o a una expresión en una instrucción SELECT, utilizando la cláusula opcional AS. ANSI hace referencia a esto como nombre de correlación .

Argumento

Constante, variable o expresión que facilita información adicional a una acción, un procedimiento o un método. Se utiliza un argumento con un operando en una expresión para proporcionar la información adicional que requiere alguna acción.

Asterisco

Carácter asterisco (*) que se utiliza como carácter comodín en las expresiones SQL LIKE para aceptar cualquier cadena de caracteres. Por ejemplo, la expresión LIKE "*town*" devuelve registros que contienen la cadena "town" seguida de cero o más caracteres. Cuando cree una consulta o escribe una instrucción de SQL, utilice el asterisco para incluir todos los campos que existen en la tabla o consulta subyacente. Por ejemplo, "SELECT * FROM MyTable" devuelve todos los campos (columnas) de la tabla. Cuando se ejecuta una consulta a través del proveedor Microsoft OLE DB para Jet, el asterisco no se utiliza como símbolo comodín. En su lugar, se utiliza el signo de porcentaje (%) como símbolo comodín de ANSI. Las consultas almacenadas no se ven afectadas, pero las nuevas consultas (vistas) que se creen a través del proveedor Microsoft OLE DB para Jet tienen que utilizar los caracteres comodín de ANSI, el signo de porcentaje (%) y el signo de subrayado (_) para obtener un comportamiento similar al que generan el asterisco (*) y el signo de interrogación (?). El proveedor Microsoft OLE DB para Jet convertirá el asterisco y el signo de interrogación en caracteres literales y el conjunto de resultados devuelto será diferente al que se devuelve a través de la interfaz de usuario de Microsoft Access o DAO.

Actualización en cascada

Para relaciones que exigen integridad referencial entre las tablas, la actualización en cascada es una opción que hace que un cambio en la clave principal de un registro de la tabla principal actualice automáticamente la clave externa de todos los registros

Page 35: SQL Access

relacionados de la tabla o tablas externas relacionadas. Por ejemplo, si se establece una relación entre la tabla Clientes (principal) y la tabla Pedidos (externa) con la opción actualización en cascada habilitada y se modifica la clave principal de un registro de la tabla Clientes, todos los pedidos asociados a ese cliente se modificarán también en la tabla externa Pedidos. Ahora se puede definir también desde DDL de SQL.

Asociado de sincronización predeterminado

Sincronizador que se utiliza para sincronizar automáticamente una réplica con otras réplicas del conjunto. Cuando se crea una réplica, el Sincronizador que administra la réplica de origen se convierte en el asociado de sincronización predeterminado de la nueva réplica.

Área de trabajo predeterminada

Objeto Workspace que DAO establece automáticamente cuando la aplicación hace referencia por primera vez a cualquier objeto DAO. Se hace referencia a este objeto Workspace mediante DBEngine.Workspaces(0) o simplemente Workspaces(0).

Atributo de identidad

Se agrega para permitir la equivalencia sintáctica con el servidor SQL. Sólo está disponible cuando se utiliza DDL de SQL desde el proveedor Microsoft OLE DB para Jet. Este tipo de datos tiene la misma funcionalidad que los tipos de datos Contador y Autonumérico. Es un sinónimo y no tiene funcionalidad adicional.

Área de trabajo de Microsoft Jet

Área de trabajo que utiliza el motor de base de datos de Microsoft Jet para obtener acceso a un origen de datos. Este origen de datos puede ser un archivo de una base de datos de Microsoft Jet (.mdb), una base de datos ODBC, como la base de datos Paradox, o una base de datos ISAM.

Administrador de controladores ODBC

Aplicación que administra las conexiones entre los orígenes de datos habilitados para ODBC y los controladores utilizados para obtener acceso a ellos.

Analizar

Identificar las partes de una instrucción o de una expresión y, a continuación, validar esas partes en comparación con las reglas de lenguaje apropiadas.

Programación

Las horas a las que el Sincronizador iniciará la sincronización con otras réplicas. El aumento mínimo de tiempo entre las sincronizaciones programadas es de 15 minutos. Se pueden establecer distintas programaciones entre dos Sincronizadores.

Page 36: SQL Access

Inicialización

Parámetro opcional utilizado con los tipos de datos Contador o Identidad. Disponible en DDL de SQL sólo cuando se utiliza el proveedor Microsoft OLE DB para Jet. Se conoce también como valor inicial. La inicialización es el primero de los dos parámetros opcionales para los tipos de datos Contador o Identidad. La siguiente instrucción SQL es un ejemplo con los parámetros: CREATE TABLE Customers (CustId IDENTITY (100, 10) CONSTRAINT pkCustomers PRIMARY KEY, CFrstNm VARCHAR(10), CLstNm VARCHAR(15)); La columna CustId de la primera fila tendrá un valor de 100. La segunda fila tendrá un valor de 110. Cuando se utilizan los parámetros opcionales y no contienen valores de (1,1), Jet no reestablecerá la inicialización en el valor máximo de la tabla. Este comportamiento es diferente al de las versiones anteriores de Jet. Si no se pasan los parámetros opcionales o no se utiliza un valor de (1,1), cuando se compacta la base de datos, la inicialización se reestablecerá en el valor máximo de la columna Contador o Identidad de la tabla.

Actualización

Proceso que guarda en un registro los cambios realizados en los datos. Hasta que se guarda el registro, los cambios se almacenan en un registro temporal denominado búfer de copia. La cláusula UPDATE de una instrucción SQL modifica los valores de datos en uno o varios registros (filas) de una tabla de base de datos.

Administrador de grupos de trabajo

Integrante del grupo de administradores del objeto Workgroup de la base de datos de Microsoft Jet. Los administradores de grupos de trabajo pueden obtener siempre permisos totales para cualquier objeto de la base de datos creado en el grupo de trabajo.

B

Biblioteca de cursores por lotes del cliente

Biblioteca que proporciona compatibilidad con el cursor del cliente en aplicaciones de bases de datos ODBCDirect. Esta biblioteca admite los cuatro tipos de cursor (de conjunto de claves, estático, dinámico y de sólo avance) a la vez que proporciona varias características como la capacidad de disociar conexiones y realizar actualizaciones optimistas por lotes.

Búfer de copia

Ubicación que crea el motor de base de datos de Microsoft Jet para el contenido de un registro que se está modificando. El método Edit copia el registro actual al búfer de

Page 37: SQL Access

copia, el método Addnew borra el búfer para un nuevo registro y establece los valores predeterminados y el método Update guarda los datos del búfer de copia en la base de datos, reemplazando el registro actual o insertando el nuevo registro. Cualquier instrucción que restablezca o desplace el puntero del registro actual, descarta el búfer de copia. Por ejemplo, al usar el método MoveNext o cambiar la propiedad Índice de una tabla, se descarta el contenido del búfer de copia.

Base de datos actual

Objeto Database devuelto por la función BdActual( ). Una referencia de DBEngine.Workspaces(0).Databases(0) devuelve la primera base de datos abierta. Este concepto se aplica sólo a Microsoft Access.

Base de datos externa

Base de datos ODBC como Microsoft SQL Server que reside en un servidor remoto, o una de las bases de datos externas como Paradox, dBASE, Microsoft FoxPro, Microsoft Excel, Microsoft Access, Lotus 1-2-3, HTML y de texto.

Bloqueado

Condición de una página de datos, un objeto Recordset o un objeto Database que hace que sea de sólo lectura para todos los usuarios, excepto para el que está introduciendo datos en la actualidad.

Base de datos de Microsoft Jet

Base de datos creada con el motor de base de datos de Microsoft Jet. La extensión de los nombres de archivo de una base de datos de Microsoft Jet es .mdb.

Biblioteca de objetos

Biblioteca de vínculos dinámicos (DLL) con uno o varios recursos de la biblioteca de tipos que normalmente tiene la extensión .olb. Puede utilizar el Examinador de objetos para examinar el contenido de una biblioteca de objetos con el fin de obtener información sobre los objetos proporcionados.

Base de datos replicada

Base de datos a la cual se han agregado tablas, campos y propiedades adicionales para registrar información sobre los cambios que se han llevado a cabo en los datos y en el diseño de los objetos replicados de una base de datos.

Bloqueo por filas

Nueva característica de Microsoft Jet versión 4.X que permite al usuario bloquear una fila en vez de una página al actualizar o eliminar una fila. El bloqueo por filas no está implementado en las columnas indizadas ni en los tipos de datos de valor largo (Memo).

Page 38: SQL Access

C

Consulta de acción

Consulta que copia o modifica datos. Entre las consultas de acción se incluyen las consultas de datos anexados, eliminación, creación de tabla y actualización. Las consultas de eliminación y de actualización modifican datos existentes; las consultas de datos anexados y de creación de tabla copian datos. En SQL, se hace referencia a ellas como consultas DML y consisten en las palabras clave DELETE, INSERT y UPDATE. Microsoft Jet admite la palabra clave SELECT INTO, que se considera asimismo una consulta DDL. Por el contrario, las consultas de selección devuelven registros de datos. Las consultas de paso a través de SQL pueden ser también consultas de acción.

Consulta de datos anexados

Consulta de acciones que agrega nuevos registros al final de una tabla o consulta existente. Las consultas de datos anexados no devuelven registros (filas). La sintaxis SQL contendría la palabra clave INSERT.

Consulta asíncrona

Tipo de consulta en la que las consultas SQL se devuelven inmediatamente, aunque los resultados estén aún pendientes. Esto permite que la aplicación continúe con otro proceso mientras que la consulta está pendiente de finalización.

Campo Autonumérico

Campo de datos que almacena automáticamente un número exclusivo para cada registro según se va agregando a la tabla. El campo Autonumérico siempre utiliza el tipo de datos Largo. Los números generados por un campo Autonumérico no se pueden modificar, a no ser que se otorgue un permiso especial a la tabla mediante las instrucciones Grant o Revoke en la sintaxis DDL de SQL. El campo Autonumérico se conoce también como tipo de datos Contador o Identidad. Cuando se utiliza DDL de SQL, este tipo de datos admite modificaciones en los valores de inicialización y de incremento. Se diferencia así de versiones anteriores, donde el valor de inicialización era 1 y el valor de incremento era 1.

Cascada

Proceso de una acción que desencadena otra. Por ejemplo, cuando se define una relación de actualización en cascada para dos o más tablas, la actualización de una clave principal de la primera tabla desencadena automáticamente cambios (en cascada) en la tabla externa. Ahora se puede definir también desde DDL de SQL.

Page 39: SQL Access

Colección

Objeto que contiene un conjunto de objetos relacionados. La posición de un objeto en la colección puede cambiar siempre que se produzca un cambio en dicha colección; por lo tanto, la posición de cualquier objeto de la colección puede variar.

Colisión

Conflicto que se produce durante la actualización por lotes. Se produce una colisión cuando un cliente lee datos del servidor e intenta modificarlos en una actualización por lotes. Sin embargo, antes de que se ejecute realmente la actualización, otro cliente cambia los datos originales del servidor. En esta situación, el primer cliente intenta modificar los datos del servidor sin saber qué datos hay realmente en él.

Columna

Representación visual de un campo en una cuadrícula. La columna define el tipo de datos, el tamaño y otros atributos de uno de los campos de una fila (registro) de datos. Todas las columnas tomadas como un conjunto, definen una fila (registro) de la base de datos. Cada columna individual contiene datos de la tabla relacionados en cuanto al tipo y al propósito; es decir, la definición de una columna no cambia de fila a fila.

Confirmar

Aceptar una transacción pendiente. Si utiliza el procesamiento de transacciones y comienza una transacción utilizando DAO, ADO o SQL, ninguno de los cambios realizados en la transacción se escribirá en la base de datos hasta que confirme o acepte la transacción.

Consulta compuesta

Consulta que se compone de al menos una consulta de acción (consulta que copia o modifica datos) y al menos una consulta de selección (consulta que devuelve un objeto Recordset sin modificar datos). En DAO, se crea una consulta compuesta incluyendo dos o más instrucciones SQL (separadas por un punto y coma) en la propiedad SQL de un objeto QueryDef.

Cadena de conexión

Cadena utilizada para definir el origen de los datos de una base de datos externa. La cadena de conexión se asigna normalmente a la propiedad Connect de los objetos QueryDef, TableDef, Connection o Database o como un argumento del método AbrirBaseDeDatos.

Coherente

Estado de un objeto Recordset de una tabla múltiple que sólo permite realizar actualizaciones que tengan como resultado una vista coherente de los datos. Por ejemplo, en un objeto Recordset que es una combinación de dos o más tablas

Page 40: SQL Access

(relación de uno a varios), una consulta coherente no permite establecer la clave del lado varios en un valor que no esté en el lado uno de la tabla.

Constante

Elemento que conserva un valor constante durante la ejecución de un programa, a diferencia de una variable, cuyo valor cambia durante la ejecución. Cada aplicación host puede definir su propio grupo de constantes. El usuario puede definir constantes adicionales mediante la instrucción Const. Se pueden utilizar constantes en lugar de los valores reales en cualquier lugar del código. Una constante puede ser una cadena o un literal numérico, otra constante o cualquier combinación que incluya operadores aritméticos o lógicos, excepto la instrucción Is y . Por ejemplo: Const strdb = "c:\Archivos de programa\Microsoft Office\Access\Samples\Neptuno.mdb".

Carácter de control

Cualquier combinación de teclas que comience con la tecla CTRL o la tecla ESC.

Criterios

Conjunto de condiciones restrictivas, como = "Dinamarca" (lo que significa igual a Dinamarca) o > 30000 , utilizadas en la creación de una consulta o un filtro para mostrar un conjunto de registros determinado.

Consulta de referencias cruzadas

Consulta que calcula una suma, un promedio, cuenta u otro tipo de total en los registros y luego agrupa el resultado en dos tipos de información, uno hacia abajo en el lado izquierdo de una cuadrícula (encabezados de fila) y el otro en la parte superior (encabezados de columna). Por ejemplo, la consulta Pedidos trimestrales por producto en la base de datos de ejemplo Neptuno es una consulta de referencias cruzadas.

Creación de réplicas de bases de datos

Proceso de reproducción de una base de datos de manera que dos o más copias (réplicas) de la misma base de datos puedan permanecer sincronizadas. Los cambios en los datos de una tabla replicada en una réplica se envían y se aplican a las demás réplicas del conjunto de réplicas. Los cambios realizados en el diseño de la base de datos del Diseño principal se envían y se aplican a todas las réplicas del conjunto.

Consulta de definición de datos

Consulta específica de SQL que puede crear, modificar o eliminar una tabla, o bien puede crear o eliminar un índice en una base de datos. ANSI las define como consultas DDL y utiliza los símbolos (token) CREATE, DROP y ALTER.

Consulta de eliminación

Consulta de acción que elimina un conjunto de filas que cumplen los criterios

Page 41: SQL Access

especificados. Las consultas de eliminación no devuelven filas.

Campo de destino

Campo de una consulta que contendrá los resultados de la misma.

Carpeta de buzón

Ubicación de red compartida donde un Sincronizador puede dejar o recoger los cambios de diseño y de datos.

Cursor dinámico

Conjunto dinámico de filas que puede utilizar para agregar, cambiar o eliminar filas de una tabla o tablas de la base de datos subyacente. Los cursores dinámicos pueden contener columnas de una o varias tablas de una base de datos. Los integrantes no son fijos.

Combinación equivalente

Combinación en la que los registros de dos tablas se combinan y se agregan al objeto Recordset sólo cuando hay valores iguales en los campos combinados. Se conoce también como combinación interna.

Campo

Categoría de información almacenada en una tabla de una base de datos, columna de datos. Elemento de una tabla de base de datos que contiene un elemento de información determinado, como el apellido.

Clave externa

Uno o varios campos de tabla que hacen referencia al campo o campos de la clave principal de otra tabla. Las claves externas indican cómo se relacionan las tablas; los datos de los campos de la clave externa y de la clave principal deben coincidir. Por ejemplo, una lista de números de pieza válidos contiene una clave externa a una tabla de inventario con referencias a números de pieza válidos. Se utiliza cuando se establece la integridad referencial en una base de datos.

Cursor de sólo avance

Conjunto de resultados en el que sólo se puede avanzar hacia adelante desde la posición actual en un número de registros especificado o hasta el último registro. Desde la posición actual no se puede retroceder hacia el principio del conjunto de resultados ni hacia registros anteriores. Los integrantes del cursor, el orden y los valores se fijan por lo general cuando el cursor está abierto. Si otros usuarios actualizan, eliminan o insertan filas, el cursor no refleja estos cambios hasta que se cierra y se abre de nuevo.

Conjunto de registros de sólo avance

Page 42: SQL Access

Objeto Recordset en el que sólo se pueden realizar búsquedas desde el principio hasta el final de los registros; no se puede retroceder desde el registro actual hasta el primer registro. Los conjuntos de registros de sólo avance reducen la sobrecarga del proceso en las bases de datos remotas. Por ejemplo, puede utilizar un conjunto de registros de sólo avance en una tabla remota vinculada para procesar los datos rápidamente de una sola vez, como cuando genera un informe personalizado.

Combinación interna

Combinación en la cual los registros de dos tablas se combinan y se agregan a un objeto Recordset sólo si los valores de los campos combinados cumplen una condición especificada. Por ejemplo, una combinación equivalente es una combinación interna en la cual los valores de los campos combinados deben ser iguales.

Constante intrínseca

Constante proporcionada por una aplicación. Por ejemplo, las constantes de los Objetos de acceso a datos (DAO) se incluyen en la biblioteca de objetos DAO y se pueden ver mediante el Examinador de objetos.

Combinación

Operación de base de datos que combina algunos o todos los registros de dos o más tablas, como combinación equivalente, combinación interna, combinación externa y autocombinación. Por lo general, una combinación hace referencia a una asociación entre un campo de una tabla y un campo del mismo tipo de datos de otra tabla. Una combinación se crea mediante una instrucción SQL. Cuando se define una relación entre dos tablas, se crea una combinación especificando los campos de la tabla principal y la tabla externa. Cuando se agrega una tabla a una consulta, es necesario crear una combinación entre los campos apropiados en la instrucción SQL que define la consulta.

Cursor de conjunto de claves

Conjunto de filas que se puede utilizar para agregar, modificar o eliminar filas de una o varias tablas de la base de datos subyacente. El movimiento dentro del conjunto de claves no está restringido. Estos cursores pueden contener columnas de una o varias tablas de una base de datos. Los integrantes son fijos.

Combinación izquierda

Las combinaciones externas izquierdas incluyen todos los registros de la primera tabla (izquierda) de dos tablas, incluso si no hay valores coincidentes para los registros en la segunda tabla (derecha).

Combinación externa izquierda

Combinación externa en la cual todos los registros del lado izquierdo de la operación LEFT JOIN de la instrucción SQL de la consulta se agregan al objeto Recordset, incluso

Page 43: SQL Access

si no hay valores coincidentes en el campo combinado de la tabla situada a la derecha. Los registros de la tabla derecha se combinan con los de la tabla izquierda sólo cuando hay valores coincidentes en los campos combinados. Cuando un registro del lado izquierdo no tiene coincidencias, se combina con una fila de valores Nulos en el lado derecho.

Consulta de creación de tabla

Consulta de acción que crea una nueva tabla a partir del objeto Recordset de una consulta existente.

Campo nulo

Campo que no contiene caracteres ni valores. Un campo nulo no es lo mismo que una cadena de longitud cero ("") ni un campo con el valor 0. Un campo se establece en nulo cuando su contenido no se conoce. Por ejemplo, el campo Fecha de finalización de una tabla de tareas será nulo hasta que termine la tarea.

Controlador ODBC

Biblioteca de vínculos dinámicos (DLL) que se utiliza para conectar un origen de datos ODBC (Conectividad abierta de bases de datos) determinado a otra aplicación (cliente).

Combinación externa

Combinación en la cual todos los registros de una tabla se agregan a un objeto Recordset, incluso si no hay valores coincidentes en el campo combinado de la segunda tabla. Los registros de la segunda tabla se combinan con los de la primera sólo cuando hay valores coincidentes en los campos combinados. Los registros Nulos se combinan cuando no hay coincidencia.

Consulta de parámetros

Consulta que requiere que se proporcionen uno o varios valores de criterios, como Caracas para ciudad, antes de ejecutar la consulta. Una consulta de parámetros no es, estrictamente hablando, un tipo de consulta independiente; más bien, aumenta la flexibilidad de otras consultas. Al utilizar el proveedor Microsoft OLE DB para Jet en Microsoft Jet versión 4.X, los parámetros se pueden exponer desde los procedimientos mediante los marcadores de parámetro del signo de interrogación (?) de ANSI. Mediante la sintaxis SQL, se puede crear el equivalente a QueryDef.

Consulta de paso a través

Consulta específica de SQL que se utiliza para enviar comandos directamente a un servidor de base de datos SQL (como Microsoft SQL Server). Mediante las consultas de paso a través se trabaja con las tablas del servidor, en vez de vincularlas. Las consultas de paso a través se utilizan para ejecutar consultas SQL y comandos específicos del sistema escritos mediante dialectos SQL que sólo conoce el servidor. Estas consultas

Page 44: SQL Access

pueden o no devolver registros. Si lo hacen, éstos se devuelven siempre en un archivo snapshot.

Clave principal

Uno o varios campos cuyo valor o valores identifican de forma exclusiva cada registro de una tabla. En una relación, la clave principal se utiliza para hacer referencia en una tabla a determinados registros de otra tabla. La clave principal se denomina clave externa cuando se hace referencia a ella desde otra tabla. Sólo puede haber una clave principal. En la tabla Empleados, por ejemplo, se puede utilizar el número de la seguridad social como clave principal.

consulta de procedimiento

Instrucción SQL que ejecuta un procedimiento almacenado.

Consulta

Instrucción formalizada a una base de datos para devolver un conjunto de registros o llevar a cabo una acción especificada en un conjunto de registros tal como se especifica en la consulta. Por ejemplo, la siguiente instrucción de consulta SQL devuelve registros: SELECT CompanyName FROM Publishers WHERE Region = 'NY'. Se pueden crear y ejecutar consultas de selección, acción, referencias cruzadas, parámetros y consultas específicas de SQL.

Conjunto de réplicas

Réplicas que comparten el mismo diseño de base de datos y el mismo identificador único de conjunto de réplicas. La sincronización se produce entre los miembros del mismo conjunto de réplicas.

Combinación derecha

La combinación externa derecha incluye todos los registros de la segunda tabla (derecha) de dos tablas, incluso si no hay valores coincidentes para los registros en la primera tabla (izquierda). Por ejemplo, puede utilizar LEFT JOIN con las tablas Departamentos (izquierda) y Empleados (derecha) para seleccionar todos los departamentos, incluidos los que no tienen ningún empleado asignado. Para seleccionar a todos los empleados, incluidos los que no están asignados a ningún departamento, podrá utilizar RIGHT JOIN.

Combinación externa derecha

Combinación externa en la cual todos los registros del lado derecho de la operación RIGHT JOIN en la instrucción SQL de la consulta se agregan al objeto Recordset, incluso si no hay valores coincidentes en el campo combinado de la tabla izquierda. Los registros de la tabla izquierda se combinan con los de la tabla derecha sólo cuando hay valores coincidentes en los campos combinados.

Page 45: SQL Access

Seguridad

Conjunto de características utilizadas para especificar o restringir el acceso que tienen los usuarios o grupos de usuarios determinados a los datos y objetos de una base de datos.

Autocombinación

Combinación en la cual los registros de una tabla se combinan con otros registros de la misma tabla cuando hay valores coincidentes en los campos combinados. Las autocombinaciones pueden ser combinaciones internas o externas. Son útiles cuando se realizan preguntas sobre cuestiones jerárquicas, como una consulta que muestra todos los administradores y sus subordinados.

Cursor de servidor

Cursores que residen en el servidor, a diferencia de los que residen en el equipo cliente. Los cursores de cliente copian el cursor en la estación de trabajo, mientras que los cursores de servidor utilizan los recursos del servidor de la base de datos para mantener los cursores.

Tipo de datos Simple

Tipo de datos fundamental que contiene números de coma flotante de precisión simple en formato IEEE. Una variable de tipo Simple se almacena como un número de 32 bits (4 bytes) con un valor comprendido entre -3,402823E38 y -1,401298E-45 para los valores negativos, entre 1,401298E-45 y 3,402823E38 para los valores positivos, y 0.

Criterio de ordenación

Principio para establecer secuencias que se utiliza para ordenar datos alfabética o numéricamente. El criterio de ordenación puede ser ascendente o descendente.

Consulta específica de SQL

Consulta que se puede crear únicamente mediante una instrucción SQL. Las subconsultas y las consultas de paso a través, de unión y de definición de datos son consultas específicas de SQL.

Convenciones de nomenclatura estándar

Conjunto de reglas específicas para asignar un nombre a los objetos DAO. Los nombres pueden tener hasta un máximo de 64 caracteres e incluir cualquier combinación de letras, números, espacios y caracteres especiales, excepto el punto (.), signo de exclamación (!), acento grave (`) y corchetes ([ ]). Tampoco se pueden utilizar los espacios a la izquierda ni los caracteres de control (valores ASCII de 0 a 31).

Topología en estrella

Page 46: SQL Access

Tipo de mapa de la organización de los equipos conectados en red. En el proceso de réplica, hace referencia a un servidor concentrador, un equipo base y la distribución de los miembros del conjunto de réplicas en otros equipos auxiliares. La topología es importante para determinar las programaciones de sincronización.

Subconsulta

Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT, SELECT...INTO, INSERT...INTO, DELETE o UPDATE, o bien dentro de otra subconsulta.

Consulta de unión

Consulta de selección específica de SQL que crea un objeto Recordset de tipo snapshot que contiene datos de todos los registros especificados en dos o más tablas sin incluir los registros duplicados. Para incluir los duplicados, agregue la palabra clave ALL. Por ejemplo, una consulta de unión de la tabla Clientes y de la tabla Proveedores da como resultado un Recordset de tipo snapshot que contiene todos los proveedores que son también clientes.

Consulta de actualización

Consulta de acción que modifica un conjunto de registros de acuerdo con los criterios especificados. Las consultas de actualización no devuelven ningún registro.

Cuenta de usuario

Cuenta identificada mediante un nombre de usuario y un identificador personal (PID) que se crea para administrar el acceso a los objetos de la base de datos en un objeto Workgroup de una base de datos de Microsoft Jet.

Caracteres comodín

El asterisco (*), signo de porcentaje (%), signo de interrogación (?), signo de subrayado (_), signo de número (#), signo de exclamación (!), guión (-) y los corchetes ([ ]) son caracteres comodín. Se pueden utilizar estos caracteres en las consultas y expresiones para incluir todos los registros, nombres de archivo u otros elementos que comiencen con caracteres específicos o que coincidan con un modelo. También se pueden utilizar los caracteres comodín y caracteres coincidentes para restringir más una búsqueda al utilizar una instrucción SQL.

Cadena de longitud cero

Cadena que no contiene ningún carácter (""). La función Len de una cadena de longitud cero devuelve 0.

D

Page 47: SQL Access

Distingue entre mayúsculas y minúsculas

Es capaz de distinguir entre letras mayúsculas y letras minúsculas. Una búsqueda que distingue mayúsculas de minúsculas busca sólo el texto que coincide exactamente con las letras mayúsculas y minúsculas. Esas búsquedas consideran, por ejemplo, las cadenas "CadenaLongitudCero" y "cadenalongitudcero" como diferentes. Las operaciones de bases de datos de Microsoft Jet no distinguen mayúsculas de minúsculas. Sin embargo, la distinción entre mayúsculas y minúsculas es una característica de otros sistemas de administración de bases de datos.

clase

Definición formal de un objeto. La clase actúa como la plantilla a partir de la cual se crea una instancia de un objeto en tiempo de ejecución. La clase define las propiedades del objeto y los métodos que se utilizan para controlar el comportamiento del mismo.

DDL (Lenguaje de definición de datos)

Lenguaje utilizado para describir los atributos de una base de datos, especialmente tablas, campos, índices y estrategia de almacenamiento. ANSI lo define para tener los símbolos (token) CREATE, DROP y ALTER.

Diseño principal

Base de datos a la que se han agregado tablas de sistema, campos de sistema y propiedades de réplica. El Diseño principal es la primera réplica del conjunto de réplicas. Sólo se pueden realizar cambios en la estructura de la base de datos con el Diseño principal. Las réplicas del mismo conjunto pueden turnarse para ser el Diseño principal, pero sólo puede haber un Diseño principal a la vez en cada conjunto.

DLL (Biblioteca de vínculos dinámicos)

Conjunto de rutinas a las que se puede llamar desde los procedimientos y que se cargan y se vinculan en tiempo de ejecución.

dynaset

Tipo de objeto Recordset que devuelve un conjunto dinámico de punteros a los datos de una base de datos activa. Al igual que los Recordset de tipo tabla o de tipo snapshot, los dynaset devuelven datos de registros (filas) y campos (columnas). A diferencia de un Recordset de tipo tabla, un Recordset de tipo dynaset puede ser el resultado de una consulta que combina dos o más tablas. Los registros de un objeto Recordset de tipo dynaset se pueden actualizar si la propiedad Updatable de Recordset tiene el valor Verdadero, el Campo que se modifica se puede actualizar y la página de datos que contiene el registro actual no está bloqueada. La página de datos se bloquea cuando se utiliza el método Update (la propiedad LockEdits está

Page 48: SQL Access

establecida en Falso) o el método Edit (la propiedad LockEdits está establecida en Verdadero).

Desplazamiento hacia adelante

Movimiento hacia el final (EOF) de un objeto Recordset.

Deshacer

Cuando se utiliza el proveedor Microsoft OLE DB para Jet, se puede iniciar (BeginTrans), confirmar (CommitTrans) o deshacer (RollBack) una transacción sin tener que hacerlo a través del modelo de objetos DAO o ADO. Mediante la reversión (RollBack), se puede finalizar o quitar una transacción que se ha iniciado (BeginTrans).

Instrucción o cadena SQL

Expresión que define un comando del Lenguaje de consulta estructurado (SQL), como SELECT, UPDATE o DELETE y que puede incluir cláusulas como WHERE y ORDER BY. Las cadenas e instrucciones SQL se utilizan normalmente en consultas, objetos Recordset y funciones de agregado, pero también se pueden utilizar para crear o modificar la estructura de una base de datos.

Disco temporal

Disco o directorio, identificado mediante la variable de entorno TEMP del sistema operativo, donde el motor de base de datos de Microsoft Jet almacena los archivos temporales y conjuntos de resultados. Se conoce también como unidad temporal. Aunque la variable de entorno TEMP puede apuntar a un disco de RAM, no se recomienda.

E

Equipo base

Equipo utilizado en una topología en estrella. Se copia una réplica del concentrador y se coloca en el equipo base. Esta réplica se puede utilizar si se desea realizar réplicas adicionales para otros equipos.

Expresión booleana

Expresión que se evalúa como Verdadero o Falso.

Eliminación en cascada

Para relaciones que exigen integridad referencial entre las tablas, la eliminación en

Page 49: SQL Access

cascada es una opción que hace que al eliminar un registro de una tabla principal se eliminen automáticamente todos los registros relacionados de la tabla o tablas externas relacionadas. Por ejemplo, si establece una relación entre la tabla Clientes (principal) y la tabla Pedidos (externa) con la opción de eliminación en cascada habilitada y elimina un registro de la tabla Clientes, todos los pedidos asociados a ese cliente se eliminarán también en la tabla externa Pedidos. Ahora se puede definir también desde DDL de SQL.

Exclusivo

Tipo de acceso que protege los datos de las bases de datos que se comparten en una red. Cuando abre una base de datos en modo exclusivo, impide a otros usuarios abrir dicha base de datos.

Expresión

Cualquier combinación de operadores, constantes, valores literales, funciones y nombres de campo, controles y propiedades que genere un único valor. Puede utilizar las expresiones como valores para muchos argumentos de acción y propiedades, para establecer criterios o para definir campos calculados en consultas.

Expresión numérica

Cualquier expresión que dé como resultado un número. Puede ser una combinación de variables, constantes, funciones y operadores que da como resultado un número.

Examinador de objetos

Cuadro de diálogo que se puede utilizar para examinar el contenido de una biblioteca de objetos con el fin de obtener información sobre los objetos proporcionados.

Expresión de objeto

Expresión que especifica un objeto determinado. Esta expresión puede incluir cualquiera de los contenedores del objeto. Por ejemplo, si la aplicación tiene un objeto Application que contiene un objeto Document que contiene a su vez un objeto Text, las siguientes son expresiones de objeto válidas: Application.Document.TextApplication.Text Document.TextText

Error en tiempo de ejecución

Error que se produce cuando se está ejecutando código. Se genera un error en tiempo de ejecución cuando una instrucción intenta realizar una operación no válida.

Comparación de cadenas

Uso de un operador para determinar si una cadena es mayor o igual que otra. Si utiliza Option Compare Text en la sección de declaraciones de un módulo, las comparaciones de cadenas no distinguen entre mayúsculas y minúsculas. Si utilizaOption Compare

Page 50: SQL Access

Binary, las comparaciones distinguen entre mayúsculas y minúsculas. Si utiliza Option Compare Database, el método de comparación lo establece la base de datos actual.

Sincronización

Proceso de actualización de dos réplicas en el cual se intercambian todos los objetos y registros actualizados. El intercambio de datos entre dos réplicas puede realizarse en uno o ambos sentidos y lo puede controlar un sincronizador.

Error de sintaxis

Error que se produce al escribir una línea de código que Microsoft Visual Basic no reconoce.

Expresión de tipo variant

Cualquier expresión que puede dar como resultado datos numéricos, una cadena o datos de fecha así como los valores especiales Vacío y Nulo.

F

Función de agregado

Función como Suma, Cuenta, Prom y Máx, que se puede utilizar para calcular totales. En las expresiones escritas y en programación se pueden utilizar las funciones de agregado de SQL (incluidas las cuatro enumeradas aquí) y las funciones de agregado de dominio para determinar varias estadísticas.

Fechas y horas

Las fechas y horas se almacenan internamente como partes diferentes de un número real. El valor a la izquierda del separador decimal representa una fecha entre el 30 de diciembre de 1899 y el 30 de diciembre de 9999, ambos inclusive. Los valores negativos representan fechas anteriores al 30 de diciembre de 1899. El valor a la derecha del separador decimal representa una hora entre las 0:00:00 y las 23:59:59 inclusive. El mediodía se representa mediante ,5.

Filtro

Conjunto de criterios aplicados a los registros para crear un subconjunto de registros.

Formulario

Ventana o cuadro de diálogo. Los formularios son contenedores de controles. Los formularios con interfaz de múltiples documentos (MDI) pueden actuar también como

Page 51: SQL Access

contenedores de formularios secundarios y de algunos controles.

FTP

Protocolo de transferencia de archivos. Protocolo que permite al usuario transferir archivos de una ubicación a otra a través de Internet. Las direcciones URL de los archivos en los servidores FTP comienzan con ftp://.

Fila

Conjunto de columnas o campos relacionados que se utilizan para contener datos. Una fila es sinónimo de un registro en el motor de base de datos de Microsoft Jet. Una tabla se compone de cero o más filas de datos.

Formato de representación Unicode

Juego de caracteres de 16 bits administrados por el Consorcio Unicode que contiene todos los caracteres necesarios para mostrar todos los idiomas del mundo. Unicode se utiliza cada vez más para facilitar las operaciones multilingües de software.

G

Grupo

Colección de cuentas de usuario de un objeto Workgroup; se identifica mediante el nombre del grupo y el identificador personal (PID). Los permisos que se otorgan a un grupo se aplican a todos los usuarios del mismo.

Sincronización programada

Intercambio de datos entre dos réplicas que se efectúa a horas previamente determinadas.

Grupo de trabajo

Grupo de usuarios en un entorno multiusuario que comparten datos y el mismo archivo de información de grupo de trabajo (normalmente el archivo System.mdw).

H

HTTP

Page 52: SQL Access

Protocolo de transferencia de hipertexto. Protocolo en segundo plano de Internet que envía información por medio del World Wide Web. Este protocolo permite al usuario utilizar un programa cliente para entrar en una dirección URL (o hacer clic en un hipervínculo) y recuperar texto, gráficos, sonido y otros tipos de información digital de un servidor Web. Las direcciones URL de los archivos de los servidores Web comienzan con http://.

I

Índice agrupado

El orden físico de las filas es el mismo que el orden indizado de las mismas.

Índice actual

Para un objeto Recordset de tipo tabla indizada, índice más reciente establecido con la propiedad Índice. Este índice es la base para ordenar los registros de un objeto Recordset de tipo tabla y lo utiliza el método Seek para buscar registros. Un objeto Recordset puede tener más de un índice, pero sólo puede utilizar un índice a la vez (aunque un objeto TableDef puede tener varios índices definidos en él). El motor de base de datos de Microsoft Jet puede utilizar más de un índice para evaluar una consulta.

Identificador único global (GUID)

Campo de 16 bytes utilizado con el fin de establecer un identificador exclusivo para realizar réplicas. Los GUID se utilizan profusamente para identificar réplicas, conjuntos de réplicas, tablas, registros y otros objetos.

Incoherente

Estado de un objeto Recordset de varias tablas que permite actualizar todos los campos (columnas). Por ejemplo, en un Recordset creado mediante la combinación de dos tablas en una combinación de uno a varios (como en las tablas Clientes y Pedidos), puede actualizar Pedidos.IdCliente para que no coincida con Clientes.IdCliente, a no ser que la integridad referencial deshabilite la actualización.

Incremento

Parámetro opcional utilizado con los tipos de datos Contador o Identidad. Disponible en DDL de SQL sólo cuando se utiliza el proveedor Microsoft OLE DB para Jet. Éste es el valor que se utiliza para asignar el siguiente valor de una nueva fila en una tabla que contiene un tipo de datos Contador o Identidad. El incremento es el segundo de los dos parámetros opcionales para los tipos de datos Contador o Identidad.

Page 53: SQL Access

Índice

Referencia cruzada dinámica de uno o varios campos de datos de tabla (columnas) que permite una recuperación más rápida de registros específicos de una tabla. Al agregar, modificar o eliminar registros, el sistema de administración de bases de datos actualiza automáticamente el índice para reflejar los cambios. Cuando se utiliza con un objeto Recordset de tipo tabla, el índice actual determina el orden en el que se devuelven los registros al Recordset. Una tabla puede tener varios índices definidos para sus datos. Un objeto DAO Index representa un índice para un objeto Tabledef.

ISAM instalable

Controlador que se puede especificar y que permite el acceso a formatos de bases de datos externas como dBASE, Microsoft Excel y Paradox. ISAM es un acrónimo de Indexed Sequential Access Method (Método de acceso secuencial indizado). El motor de base de datos Microsoft Jet instala (carga) los controladores ISAM cuando la aplicación hace referencia a los mismos. La ubicación de estos controladores se mantiene en el Registro de Microsoft Windows.

Instancia

Cada uno de los objetos de un conjunto que comparte la misma clase. Por ejemplo, varias instancias de una clase Form comparten el mismo código y están cargadas con los mismos controles con los que se ha diseñado la clase Form. En tiempo de ejecución, las propiedades individuales de los controles de cada instancia se pueden establecer en valores diferentes.

Internet

Red mundial que se compone de miles de redes más pequeñas y millones de equipos comerciales, educativos, gubernamentales y personales. Internet es como una ciudad electrónica virtual con bibliotecas, tiendas, oficinas, galerías de arte, etcétera.

intranet

Red dentro de una organización que utiliza la tecnología de Internet (como los protocolos HTTP o FTP). Se puede utilizar una intranet para desplazarse entre objetos, documentos, páginas Web y otros destinos mediante hipervínculos.

Identificador personal (PID)

Cadena alfanumérica con distinción de mayúsculas y minúsculas de 4 a 20 caracteres de longitud que el motor de base de datos de Microsoft Jet utiliza en combinación con el nombre de cuenta para identificar a un usuario o un grupo del objeto Workgroup. Debe proporcionar el PID y el nombre de cuenta al crear un usuario o grupo nuevo.

Integridad referencial

Reglas que permiten establecer y conservar las relaciones entre tablas cuando se

Page 54: SQL Access

agregan, se modifican o se eliminan registros. Al imponer la integridad referencial se impide a los usuarios agregar registros a una tabla combinada para la cual no hay clave principal, cambiar valores en la tabla principal que darían como resultado registros huérfanos en una tabla combinada y eliminar registros de la tabla principal cuando hay registros relacionados coincidentes. Si selecciona la opción dbRelationDeleteCascade o dbRelationUpdateCascade de una relación, el motor de base de datos de Microsoft Jet permite modificaciones y eliminaciones, pero modifica o elimina los registros relacionados para asegurarse de que las reglas se cumplen. Microsoft Jet versión 4.X, a través del proveedor Microsoft OLE DB para Jet, expone un conjunto mucho más amplio de ANSI SQL y también expone la acción referencial NULL en cascada de ANSI.

Grupo de trabajo con la seguridad habilitada

Objeto Workgroup de la base de datos de Microsoft Jet en el que inician sesión los usuarios con un nombre de usuario y una contraseña y en el que el acceso a los objetos de la base de datos está restringido según los permisos especificados para las cuentas de usuario y los grupos.

Snapshot

Copia fija de un conjunto de registros recuperados de la base de datos y copiados en la memoria. Un archivo snapshot derivado de un origen de datos conectado a Microsoft Jet no se puede actualizar. Los objetos Recordset de tipo snapshot se pueden crear a partir de una tabla base, una consulta u otro objeto Recordset. Todas las consultas de paso a través de SQL devuelven archivos snapshot.

J

Juego de caracteres ANSI

Juego de caracteres de 8 bits utilizado por Microsoft Windows que permite representar hasta un máximo de 256 caracteres (de 0 a 255) mediante el teclado. El juego de caracteres ASCII es un subgrupo del juego ANSI.

Juego de caracteres ASCII

Juego de caracteres de 7 bits, que constituyen el Código estándar norteamericano para el intercambio de información (ASCII). Se utiliza en gran medida para representar las letras y los símbolos que se encuentran en el teclado estándar de EE.UU. El juego de caracteres ASCII corresponde a los primeros 128 caracteres (0 – 127) del juego de caracteres ANSI.

Page 55: SQL Access

L

Literal de fecha

Cualquier secuencia de caracteres con formato válido que se encuentre entre signos de número (#). Los formatos válidos incluyen el formato de fecha especificado en la configuración local del código o el formato de fecha universal. Por ejemplo, #12/31/92# es el literal de fecha que representa el 31 de diciembre de 1992, cuando el inglés de Estados Unidos es la configuración local de la aplicación. Utilice los literales de fecha para maximizar la portabilidad entre idiomas.

Tipo de datos Cadena

Tipo de datos fundamental que contiene información de caracteres. Una variable de tipo Cadena es de longitud fija o variable y contiene un carácter por byte. Las cadenas de longitud fija se declaran con una longitud específica y pueden contener aproximadamente de 1 a 64K (2^16) de caracteres. Las cadenas de longitud variable pueden tener hasta 2.000 millones (2^31) de caracteres (aproximadamente 64K [2^16] para Microsoft Windows versión 3.1 y anterior), menos una pequeña cantidad de espacio para almacenamiento.

M

Modo ANSI SQL-92

Este modo permite una sintaxis SQL aumentada que cumple mejor con SQL-92 y Microsoft SQL Server. Está disponible sólo a través del proveedor de Microsoft OLE DB para Jet. No se puede establecer a través de DAO. Las nuevas funciones están sobre todo en DDL. La compatibilidad con los caracteres comodín de ANSI, que son el signo de porcentaje (%) y el signo de subrayado (_), forma también parte del modo ANSI SQL-92.

Matriz

Variable que contiene un número finito de elementos que tienen un nombre y un tipo de datos comunes. Cada elemento de una matriz se identifica por un número de índice único. Los cambios que se realizan en un elemento de una matriz no afectan al resto de los elementos.

Marcador

Page 56: SQL Access

Propiedad del objeto Recordset que contiene una cadena binaria que identifica el registro actual. Si se asigna el valor Marcador a una variable y, a continuación, se produce un desplazamiento a otro registro, se puede hacer que el registro anterior sea otra vez el actual estableciendo la propiedad Marcador en esa variable de cadena.

Motor de base de datos

Parte del sistema de base de datos que recupera los datos y los almacena en bases de datos del usuario y del sistema.

Mensaje

Paquete de información que se pasa de una aplicación a otra.

Método

Procedimiento similar a una función que opera en objetos específicos.

Motor de base de datos de Microsoft Jet

Sistema de administración de bases de datos que recupera datos y los almacena en bases de datos del usuario y del sistema. Se puede considerar el motor de base de datos de Microsoft Jet como un componente administrador de datos con el cual se generan otros sistemas de acceso a datos, como Microsoft Access y Microsoft Visual Basic.

Base de datos multiusuario

Base de datos que permite a más de un usuario obtener acceso y modificar simultáneamente el mismo conjunto de datos. En algunos casos, el usuario adicional puede ser otra instancia de la aplicación o una aplicación que se esté ejecutando en el sistema y que obtenga acceso a los mismos datos que otra aplicación.

Miembro de un conjunto de réplicas

Réplica que pertenece a un conjunto de réplicas. Los miembros de un conjunto de réplicas comparten el mismo diseño de base de datos y pueden estar sincronizados entre sí.

N

NULO en cascada

Para relaciones que exigen integridad referencial entre las tablas, NULO en cascada es una opción que hace que una fila eliminada de la tabla principal se actualice

Page 57: SQL Access

automáticamente en la clave externa de todos los registros relacionados de la tabla o tablas externas relacionadas, de manera que tengan un valor NULO. Ahora se puede definir también desde DDL de SQL. Por ejemplo, si se establece una relación entre la tabla Clientes (principal) y la tabla Pedidos (externa) con la opción NULO en cascada habilitada y se elimina la clave principal de un registro de la tabla Clientes, todos los pedidos de la tabla externa Pedidos asociados a ese cliente cambiarán al valor NULO.

Nombre de correlación

Definición ANSI de un nombre que hace referencia a una columna en una tabla o vista (consulta almacenada). Se conoce también como alias.

Nulo

Valor que indica datos que faltan o datos desconocidos. Se pueden especificar valores Nulos en campos para los que se desconoce la información así como en expresiones y consultas. En Visual Basic, la palabra clave Null indica un valor Nulo. Algunos campos, como los que contienen la clave principal, no pueden contener valores Nulos.

N

Normalizar

Minimizar la duplicación de información de una base relacional a través de un diseño de tabla eficaz.

O

Objetos de datos activos (ADO)

Interfaz de programación para obtener acceso a objetos de bases de datos y manipularlos.

Objeto ActiveX

Objeto expuesto a otras aplicaciones o herramientas de programación a través de las interfaces de automatización (anteriormente automatización OLE). Por ejemplo, Microsoft Access puede crear y manipular objetos de Microsoft ActiveX en Microsoft Word o Microsoft Excel.

Page 58: SQL Access

Objeto DAO

Objeto que se define mediante la biblioteca de Objetos de acceso a datos (DAO). Puede utilizar los objetos DAO, como Database, TableDef, Recordset y QueryDef para representar los objetos que se utilizan para organizar y manipular datos, como tablas y consultas, en código.

Objetos de acceso a datos (DAO)

Interfaz de programación para obtener acceso a los objetos de bases de datos y manipularlos.

Origen de datos

Recurso denominado Conectividad abierta de bases de datos (ODBC) que especifica la ubicación, el tipo de controlador y otros parámetros que necesita un controlador ODBC para obtener acceso a una base de datos ODBC. Un origen de datos puede ser cualquier origen de información de base de datos.

Objeto local

Tabla o consulta que permanece en la réplica donde fue creada. Ni el objeto ni los cambios realizados en él se propagan a otros miembros del conjunto de réplicas.

Origen de datos ODBC conectado a Microsoft Jet

Origen de datos ODBC al que se obtiene acceso mediante los Objetos de acceso a datos (DAO) y el motor de base de datos de Microsoft Jet.

ODBC (Conectividad abierta de bases de datos)

Protocolo estándar que permite a las aplicaciones conectarse a una variedad de servidores o archivos de bases de datos externas. Los controladores ODBC utilizados por el motor de base de datos de Microsoft Jet permiten el acceso a Microsoft SQL Server y a varias otras bases de datos externas. También se puede utilizar la interfaz de programación de aplicaciones (API) de ODBC para obtener acceso a los controladores ODBC y las bases de datos a las que se conectan sin utilizar el motor de base de datos de Microsoft Jet.

Origen de datos ODBC

Término utilizado para hacer referencia a una base de datos o a un servidor de base de datos que se usa como origen de datos. Se hace referencia a los orígenes de datos ODBC mediante el nombre del origen de datos (DSN). Los orígenes de datos pueden crearse mediante el Panel de control de Microsoft Windows o el método RegisterDatabase.

OLE

Tecnología de Microsoft basada en objetos que permite crear aplicaciones que

Page 59: SQL Access

contengan componentes de diversas otras aplicaciones.

Optimista

Tipo de bloqueo en el cual la página de datos que contiene uno o varios registros, incluyendo el registro que se va a modificar, no está disponible para otros usuarios sólo mientras se está actualizando el registro mediante el método Update, pero está disponible entre los métodos Edit y Update. El bloqueo optimista se utiliza cuando se obtiene acceso a las bases de datos ODBC o cuando la propiedad LockEdits del objeto Recordset está establecida en Falso.

Objeto persistente

Objeto almacenado en la base de datos; por ejemplo, una tabla de la base de datos o el objeto QueryDef. Los objetos Recordset de tipo dynaset o snapshot no se consideran objetos persistentes porque se crean en la memoria cuando se necesitan.

Objeto replicado

Tabla o consulta que está en todas las réplicas del conjunto de réplicas. Sólo se puede modificar el objeto replicado en el Diseño principal. A continuación, estos cambios se propagan a otras réplicas del conjunto de réplicas durante una sincronización.

Objeto de sistema

Objeto de base de datos definido por el motor de base de datos de Microsoft Jet, como la tabla MSysIndexes.

P

Producto cartesiano

Resultado de la combinación de dos tablas relacionales, que genera todas las combinaciones ordenadas posibles de las filas de la primera tabla con todas las filas de la segunda tabla. Normalmente, un producto cartesiano es el resultado de la ejecución de una instrucción SQL SELECT que hace referencia a dos o más tablas en la cláusula FROM y no incluye una cláusula WHERE ni JOIN que indique cómo se tienen que combinar las tablas.

Programación de sincronización predeterminada

Plantilla utilizada por un Sincronizador para definir una programación entre una réplica recién administrada y su asociado de sincronización predeterminado, cuando la réplica recién administrada no tiene una programación de sincronización. Una vez definida la programación, ésta se puede cambiar.

Page 60: SQL Access

Propiedades de campo

Atributos de un campo que determinan qué clase de datos contiene. Tamaño y Tipo son algunas de estas propiedades.

Procedimiento de función

Procedimiento que realiza una tarea específica dentro de un programa de Microsoft Visual Basic y devuelve un valor. Los procedimientos de Función comienzan con una instrucción Function y terminan con una instrucción End Function.

Página

Parte de la base de datos donde se almacenan los datos de un registro. Dependiendo del tamaño de los registros, una página puede contener más de un registro. En las bases de datos de Microsoft Jet (.mdb), una página tiene 2048 (2K) bytes de longitud. Los formatos de archivo de Jet 4.X tienen una página de 4K (4096 bytes).

Parámetro

Elemento que contiene un valor que se puede cambiar para modificar los resultados de la consulta. Por ejemplo, una consulta que devuelve datos sobre un empleado, puede tener un parámetro para el nombre del empleado. En ese caso, se puede utilizar un objeto QueryDef para buscar los datos de cualquier empleado, estableciendo el parámetro en un nombre determinado antes de ejecutar la consulta. Al utilizar el proveedor Microsoft OLE DB para Jet en Microsoft Jet versión 4.X, los parámetros se pueden exponer desde los procedimientos mediante los marcadores de parámetro del signo de interrogación (?) de ANSI. Mediante la sintaxis SQL, se puede crear el equivalente a QueryDef.

Permiso

Uno o varios atributos que especifican el tipo de acceso que tiene el usuario a los datos u objetos de una base de datos. Por ejemplo, si un usuario tiene permiso de lectura de los datos de una tabla o consulta, este usuario podrá ver o recuperar los datos de la tabla o consulta, pero no podrá modificarlos .

Pesimista

Tipo de bloqueo en el cual la página que contiene uno o varios registros, incluyendo el registro que se está modificando, no está disponible para otros usuarios cuando se utiliza el método Edit, y permanece no disponible hasta que se utiliza el método Update. El bloqueo pesimista está habilitado cuando la propiedad LockEdits del objeto Recordset está establecida en Verdadero.

Prioridad

Valor largo que indica la prioridad de la réplica para su utilización durante la resolución de un conflicto. Un valor de prioridad válido para una réplica global está entre 0 y 100,

Page 61: SQL Access

inclusive. Las réplicas locales y anónimas tienen siempre una prioridad 0. Si se produce un conflicto durante la sincronización, la réplica con la prioridad más alta será la que gane. Los datos que pierden se registran en la tabla de conflictos.

Procedimiento

Similar a una vista, excepto que la sintaxis SQL puede permitir instrucciones SELECT (consultas que devuelven filas) para pasar parámetros y permitir las instrucciones DML (consultas que no devuelven filas) UPDATE, INSERT, DELETE y SELECT INTO. Es literalmente lo mismo que querydef, excepto que se puede crear a partir de la sintaxis SQL sin utilizar el modelo de objetos DAO.

Propiedad

Atributo con nombre de un objeto. Las propiedades definen las características de los objetos, como el tamaño, el color y la ubicación en la pantalla o el estado de un objeto, como habilitado o deshabilitado.

Pseudoíndice

Referencia cruzada dinámica de uno o varios campos de datos de una tabla (columnas) que permite una tabla ODBC (tabla del servidor) sin que se modifique ningún índice exclusivo. Un pseudoíndice no es un índice real de la tabla del servidor, sino una referencia cruzada que el motor de base de datos de Microsoft Jet puede utilizar para admitir actualizaciones de tablas. Es necesario sólo si la tabla ODBC no tiene un índice exclusivo, lo que permite que la tabla se actualice. No necesita un pseudoíndice si la tabla ya tiene un índice exclusivo o si no tiene que actualizarse (Las tablas no tienen un índice exclusivo si están destinadas a ser de sólo lectura). En versiones anteriores, los pseudoíndices se denominaban especificaciones de índice.

Proceso de réplica

Proceso de creación y sincronización de réplicas en diferentes ubicaciones. La réplica agrega campos del sistema, tablas del sistema y propiedades de réplica a una base de datos para que los cambios realizados en los datos o en el diseño de una base de datos se envíen y se apliquen a todos los miembros del conjunto de réplicas.

Palabra reservada

Palabra que es parte del lenguaje, como el lenguaje SQL del motor de base de datos de Microsoft Jet. Las palabras reservadas incluyen los nombres de las instrucciones, funciones predefinidas y tipos de datos, métodos, operadores y objetos. Algunos ejemplos: SELECT, UPDATE, BETWEEN, SET e INSERT. No utilice palabras reservadas como nombre de variables u objetos. Cuando se utiliza el proveedor Microsoft OLE DB para Jet, la lista de palabras reservadas de Microsoft Jet versión 4.X se incrementa para ser compatible con ANSI SQL-92.

Período de retención

Page 62: SQL Access

Número de días durante los cuales el sistema retendrá cierta información del sistema de réplica para una réplica. Si el período de retención vence antes de que se sincronice la réplica, la sincronización no se podrá realizar.

Error de sincronización

Problema que se produce durante la sincronización y que impide que los cambios realizados en un registro se lleven a cabo correctamente. Este problema es más grave que un conflicto y debe resolverse cuanto antes.

Propiedades de validación

Propiedades utilizadas para establecer condiciones en los campos de tablas y los registros. Entre estas propiedades se incluyen Regla de validación, Requerido y Permitir longitud cero.

R

Restricción CHECK

Concepto de ANSI SQL-92 que permite la creación de reglas de empresa que abarcan una tabla completa o varias tablas. Un ejemplo sería la creación de una tabla Cliente y una tabla Pedido. La tabla Pedido podría tener una restricción CHECK que impidiera que los pedidos de un cliente excedieran el límite de crédito definido para él en la tabla Cliente.

Restricción

Limitación de los valores posibles que los usuarios pueden especificar en un campo. Se ha agregado la restricción ANSI SQL DDL CHECK a Microsoft Jet versión 4.X cuando se pasa a través del proveedor Microsoft OLE DB para Jet. La restricción CHECK permite la creación de reglas de empresa que abarcan una tabla completa o varias tablas.

Registro actual

Registro de un objeto Recordset que puede utilizar para modificar o examinar datos.Utilice los métodos Move para cambiar la posición del registro actual en un conjunto de registros. Utilice los métodos Find (con un objeto Recordset de tipo dynaset o snapshot) o el método Seek (con un objeto Recordset de tipo tabla) para cambiar la posición del registro actual según determinados criterios. Sólo un registro de un objeto Recordset puede ser el registro actual; sin embargo, un objeto Recordset puede no tener ningún registro actual. Por ejemplo, después de que se haya eliminado un registro de Recordset de tipo dynaset o cuando un objeto Recordset no tiene registros, el registro actual está indefinido. En este caso, las operaciones que hacen

Page 63: SQL Access

referencia al registro actual tienen como resultado un error interceptable.

Réplicas administradas

Réplica con un Sincronizador asignado. El Sincronizador envía cambios a otras réplicas del conjunto y asimismo los recibe de ellas.

Réplica de objetos

Proceso de reproducir un objeto (tabla o consulta) para que dos o más copias del mismo objeto estén sincronizadas. Las modificaciones aplicadas al diseño del objeto en el Diseño principal se envían y se realizan en todas las réplicas del conjunto.

Relación uno a varios

Asociación entre dos tablas en la cual el valor de la clave principal de cada registro de la tabla principal corresponde al valor del campo o campos coincidentes de muchos registros de la tabla relacionada, o bien el valor de la clave principal de cada registro de la tabla relacionada corresponde al valor del campo o campos coincidentes de un solo registro de la tabla principal.

Relación uno a uno

Asociación entre dos tablas en la cual el valor de la clave principal de cada registro de la tabla principal corresponde al valor del campo o campos coincidentes de un solo registro de la tabla relacionada, o bien el valor de la clave principal de cada registro de la tabla relacionada corresponde al valor del campo o campos coincidentes de un solo registro de la tabla principal.

Réplica parcial

Base de datos que contiene sólo un subconjunto de los registros de una réplica completa. Una réplica parcial permite establecer filtros e identificar relaciones que definen qué subconjunto de registros de la réplica completa deben estar presentes en la base de datos.

Registro

Conjunto de datos relacionados sobre una persona, un lugar, un suceso u otro elemento. Los datos de las tablas se almacenan en registros (filas) en la base de datos. Cada registro se compone de un conjunto de campos relacionados (columnas). Cada campo define un atributo de la información del registro. Cada registro define una unidad específica de información recuperable en una base de datos. Se conoce también como fila.

Relación

Asociación establecida entre los campos comunes (columnas) de dos tablas. Una relación puede ser de uno a uno, de varios a varios o de uno a varios.

Page 64: SQL Access

Réplica

Copia de una base de datos, incluidas sus tablas, consultas, formularios, informes, macros y módulos. Una réplica forma parte de un conjunto de réplicas y puede estar sincronizada con otras réplicas del conjunto. Los cambios en los datos de una tabla replicada en una réplica se envían y se aplican a los demás miembros del conjunto de réplicas.

Replicar

Crear una réplica o copia de algo, por ejemplo, una base de datos.

Réplica no administrada

Réplica que no es administrada por un sincronizador. Las réplicas no administradas aparecen en la ventana de sincronización con un icono especial. No se pueden establecer programaciones de sincronización a partir de una réplica no administrada, aunque se pueden sincronizar mediante otro sincronizador o a través de código DAO.

Regla de validación

Regla que establece límites o condiciones con respecto a lo que se puede introducir en uno o varios campos. Se pueden establecer reglas de validación para un objeto Field o TableDef. Estas reglas se comprueban cuando se actualiza un registro que contiene campos que requieren validación. Si se infringe la regla, se genera un error interceptable.

S

Seguimiento a nivel de columna

El seguimiento a nivel de columna es un mecanismo donde cada columna de una fila participa individualmente en la determinación y resolución de un conflicto. Si más de una réplica modifica la misma fila pero cada réplica modifica una única columna, no se generará ningún conflicto y se combinarán todos los cambios.

Sincronización directa

Tipo de sincronización que se produce cuando se pueden abrir dos réplicas simultáneamente durante el proceso de sincronización.

Servidor concentrador

Equipo utilizado en una topología en estrella. Se puede utilizar una réplica que reside en este equipo como asociado de sincronización con otras réplicas.

Page 65: SQL Access

Sincronización indirecta

Tipo de sincronización que se produce cuando un Sincronizador deja cambios en la carpeta de buzón para que otro Sincronizador los recoja y los aplique a la réplica que administra.

Sincronización mediante Internet

Tipo de sincronización que se basa en una serie de intercambios de mensajes entre las réplicas que se dejan en la carpeta de buzón. Sólo la réplica que administra el Sincronizador en el servidor de Internet tiene un buzón, al que se puede obtener acceso a través de una conexión HTTP o FTP.

Sincronización a petición

Intercambio de datos entre dos réplicas que se produce a petición explícita del usuario.

Sólo lectura

Tipo de acceso a datos mediante el cual se puede recuperar información pero no se puede modificarla.

Seguimiento de filas

El seguimiento de filas es un mecanismo donde la fila completa participa en la determinación y resolución de un conflicto. Un conflicto se produce si más de una réplica modifica la misma fila, aunque los datos modificados existan en diferentes columnas de esa fila.

Equipo auxiliar

En una topología en estrella, equipo donde reside una réplica. De manera predeterminada, esta réplica se copia del equipo base y se sincroniza con una réplica del servidor concentrador.

Ámbito

Atributo de una variable o un procedimiento que determina qué secciones de qué módulos se van a reconocer. Hay tres niveles de ámbito: público, módulo y procedimiento. Cualquier módulo puede obtener acceso a las variables que se declaran mediante la instrucción Public, mientras que las variables que se declaran en un módulo específico sólo se pueden utilizar dentro de ese módulo. Asimismo, las variables que se declaran en un subprocedimiento o un procedimiento de función sólo se pueden utilizar en ese procedimiento concreto.

Consulta de selección

Consulta que realiza una pregunta sobre los datos almacenados en las tablas y devuelve un objeto Recordset sin modificar los datos. Una vez recuperados los datos

Page 66: SQL Access

de Recordset, se pueden examinar y realizar cambios en los datos de las tablas subyacentes. Por el contrario, las consultas de acción pueden realizar cambios en los datos, pero no devuelven registros de datos.

Servidor

Sistema de administración de bases de datos diseñado para compartir datos con aplicaciones cliente; los servidores y clientes están a menudo conectados a través de una red. Un servidor de bases de datos contiene y administra normalmente un repositorio de datos central que las aplicaciones cliente remotas pueden recuperar y manipular.

Tipo de datos Corto

Tipo de datos fundamental del motor de base de datos de Microsoft Jet que corresponde al tipo de datos Entero definido por Microsoft Visual Basic para Aplicaciones. Una variable de tipo Corto se almacena como un número de 16 bits (2 bytes) con un valor de -32.768 a 32.767.

Expresión de cadena

Cualquier expresión que dé como resultado una secuencia de caracteres contiguos. Los elementos de la expresión pueden incluir una función que devuelva una cadena, un literal de cadena, una constante de cadena, una variable de cadena, una cadena Variant o una función que devuelva una cadena Variant (VarType 8).

Lenguaje de consulta estructurado (SQL)

Lenguaje utilizado para consultar, actualizar y administrar bases de datos relacionales. Se puede utilizar SQL para recuperar, ordenar y filtrar datos específicos que se van a extraer de la base de datos. Se pueden utilizar las instrucciones SQL SELECT en cualquier lugar donde se acepte un nombre de tabla, un nombre de consulta o un nombre de campo. Por ejemplo, se puede utilizar una instrucción SQL en vez de un nombre de tabla en el método OpenRecordset.

T

Tipo de datos Autonumérico

Atributo de campo que almacena automáticamente un número exclusivo para cada registro según se va agregando a la tabla. Un campo Autonumérico utiliza el tipo de datos Largo y tiene la propiedad Atributos establecida en dbAutoIncrement. Los números generados por un campo Autonumérico no se pueden modificar, a no ser que se otorgue un permiso especial a la tabla mediante las instrucciones Grant o

Page 67: SQL Access

Revoke en la sintaxis DDL de SQL. El campo Autonumérico se conoce también como tipo de datos Contador o Identidad.

Tabla base

Tabla de una base de datos de Microsoft Jet. Una tabla define la estructura de la base de datos relacional y es un objeto que almacena los datos en registros y campos. Se puede manipular la estructura de una tabla base mediante los objetos DAO o instrucciones SQL de definición de datos (DDL); también se pueden modificar los datos de una tabla base mediante los objetos Recordset o consultas de acción.

Tipo de datos Entero grande

Tipo de datos que almacena un valor numérico exacto, con signo y con precisión 19 (con signo) o 20 (sin signo), escala 0 (con signo: -263 = n = 263-1; sin signo: 0 = n = 264-1).

Tipo de datos Binario

Tipo de datos que almacena datos binarios de ancho fijo. El ancho máximo es de 255 bytes.

Tipo de datos Booleano

Valor Verdadero/Falso o sí/no. Los valores booleanos se almacenan normalmente en campos de bits de una base de datos de Microsoft Jet; sin embargo, algunas bases de datos no admiten directamente este tipo de datos.

Tipo de datos Byte

Tipo de datos fundamental que contiene números enteros positivos que van de 0 a 255.

Tipo de datos Car

Tipo de datos que almacena una cadena de caracteres de ancho fijo. El ancho se establece mediante la propiedad Tamaño.

Tabla conflictiva

Tabla que se genera cuando se produce un conflicto de sincronización entre dos réplicas. La tabla conflictiva aparece sólo en la réplica con los cambios rechazados.

Tipo de datos Moneda

Tipo de datos que es útil para los cálculos con monedas o cálculos de punto fijo, donde la precisión es extremadamente importante. Este tipo de datos se utiliza para almacenar números de hasta 15 dígitos a la izquierda de la coma decimal y 4 dígitos a la derecha. Debido a que el tipo de datos Moneda utiliza valores discretos para todas las cantidades, el redondeo binario no es un factor al calcular los totales.

Page 68: SQL Access

Transacción actual

Todos los cambios realizados en un objeto Recordset después de utilizar el método BeginTrans y antes de utilizar el método Rollback o el método CommitTrans.

Tipo de datos

Características de una variable que determinan la clase de datos que puede contener esa variable. Los tipos de datos incluyen Entero grande, Binario, Byte, Booleano, Car, Moneda, Fecha, Decimal, Doble, Flotante, Guid, Entero, Largo, Binario largo (Objeto OLE), Memo, Numérico, Simple, Cadena, Texto, Hora, Marca de hora, VarBinary, Variant (predeterminado), tipos definidos por el usuario (creados mediante la instrucción Type) y tipos de datos de objetos, que incluyen tipos de datos de objetos definidos por el host y tipos de objetos DAO.

Tipo de datos Decimal

Tipo de datos que almacena un valor numérico exacto con signo, con precisión p y escala s (1 = p =15; 0 = s = p).

Tiempo de diseño

Tiempo durante el cual se genera una aplicación en el entorno de desarrollo agregando controles, estableciendo las propiedades de un formulario o de un control, y así sucesivamente. En cambio, durante el tiempo de ejecución, la interacción con la aplicación se realiza tal y como lo haría un usuario.

Tipo de datos Doble

Tipo de datos fundamental que contiene números de coma flotante y de precisión doble en formato IEEE. Una variable de tipo Doble se almacena como un número de 64 bits (8 bytes) con un valor comprendido entre -1,79769313486231E308 y -4,94065645841247E-324 para los valores negativos, entre 4,94065645841247E-324 y 1,79769313486231E308 para los valores positivos, y 0.

Tabla externa

Tabla de una base de datos fuera de la base de datos abierta de Microsoft Jet. Las tablas externas pueden ser otro archivo o pueden ser una tabla de otra base de datos relacional.

Tipos de datos de campo

Los tipos de datos de Campo son los siguientes: Entero grande, Binario, Booleano, Byte, Car, Moneda, Fecha/Hora, Decimal, Doble, Flotante, GUID, Entero, Largo, Binario largo (Objeto OLE), Memo, Numérico, Simple, Texto, Hora, Marca de hora y VarBinary.

Tipo de datos Flotante

Tipo de datos que almacena un valor numérico aproximado, con signo y con una

Page 69: SQL Access

precisión de mantisa 15 (cero o valor absoluto de 10-308 a 10308).

Tabla externa

Tabla que proporciona una clave externa a otra tabla de la base de datos. Generalmente, una tabla externa se utiliza para establecer o imponer la integridad referencial. La tabla externa está normalmente en el lado "varios" de una relación de uno a varios. Un ejemplo de tabla externa sería una tabla de pedidos de clientes.

Tipo de datos GUID

Identificador único global/identificador único universal. Cadena de identificación exclusiva utilizada en las llamadas a procedimientos remotos. Cada interfaz y clase de objetos utiliza un GUID para la identificación. Los identificadores GUID tienen un valor de 128 bits. Por ejemplo, 12345678-1234-1234-1234-123456789ABC es un identificador GUID sintácticamente correcto. Los identificadores GUID del cliente y del servidor deben coincidir para que éstos se enlacen. Los proveedores de objetos pueden solicitar que Microsoft asigne uno o varios juegos de 256 GUID para su uso exclusivo. Otra posibilidad es que si tiene una tarjeta de red, podrá ejecutar una herramienta denominada Uuidgen.exe, que proporciona un grupo de 256 GUID basándose en la hora del día, la fecha y un número exclusivo que está en la tarjeta de red.

Tipo de datos Hipervínculo

Tipo de datos de campo que se utiliza para los campos que almacenan hipervínculos. Los campos de hipervínculos contienen texto o combinaciones de texto y números almacenados como texto que se utilizan como direcciones de hipervínculo. Estas direcciones pueden componerse de hasta tres partes (cada parte puede contener hasta 2048 caracteres y tiene la sintaxis:textoparamostrar#dirección#subdirección

Tipo de datos Entero

Tipo de datos fundamental que contiene números enteros. Una variable de tipo Entero se almacena como un número de 16 bits (2 bytes) con un valor de -32.768 a 32.767.

Tabla vinculada

Tabla de otra base de datos vinculada a la base de datos de Microsoft Jet. Los datos de las tablas vinculadas permanecen en la base de datos externa, donde se pueden manipular mediante otras aplicaciones. (Anteriormente conocidas como tablas adjuntas.)

Tipo de datos Binario Largo

Tipo de campo que puede contener 2,14 GB de datos. Los campos Binario Largo pueden contener cualquier tipo de datos binarios. Se conocen también como tipo de datos Objeto OLE en Microsoft Access.

Page 70: SQL Access

Tipo de datos Largo

Tipo de datos fundamental que contiene números enteros largos. Una variable de tipo Largo se almacena como un número de 32 bits (4 bytes) con un valor de -2.147.483.648 a 2.147.483.647.

Tabla de sólo varios

Tabla que no aparece como el lado "uno" de ninguna combinación en una consulta.

Tipo de datos Memo

Tipo de datos de campo. Estos campos pueden contener hasta 2,14 GB de datos de texto.

Tipo de datos Numérico

Tipo de datos que almacena un valor numérico exacto, con signo, con precisión p y escala s (1 = p =15; 0 = s = p).

Tipo de datos Objeto OLE

Tipo de datos de campo que se utiliza para objetos que se han creado en otras aplicaciones que pueden estar vinculadas o incrustadas en una base de datos de Microsoft Jet. Por ejemplo, podrá utilizar un campo Objeto OLE para almacenar una colección de imágenes.

Tabla principal

Lado "uno" de dos tablas relacionadas en una relación uno a varios con una tabla externa. Normalmente, se utiliza una tabla de claves principales para imponer la integridad referencial.

Topología del conjunto de réplicas

Orden en el cual se propagan los cambios de réplica a réplica. La topología es importante porque determina la rapidez con la que aparecen en una réplica los cambios realizados en otra.

Tiempo de ejecución

Tiempo durante el cual se ejecuta el código. En tiempo de ejecución, la interacción con el código se realiza tal y como lo haría un usuario.

Sesión

Una sesión define una secuencia de operaciones realizadas por el motor de base de datos de Microsoft Jet. Comienza cuando el usuario inicia una sesión y termina cuando la cierra. Todas las operaciones que se realizan durante una sesión constituyen el ámbito de una transacción y están sujetas a los permisos determinados por el nombre

Page 71: SQL Access

de usuario y la contraseña de inicio de sesión. DAO implementa las sesiones como objetos Workspace.

Carpeta de red compartida

Ubicación de red compartida donde un Sincronizador puede dejar o recoger cambios de diseño y de datos.

Desviación estándar

Parámetro que indica la forma en que una función de probabilidad se centra alrededor de su media y que es igual a la raíz cuadrada del momento en que la desviación de la media se eleva al cuadrado. Se utiliza para describir conjuntos de valores con el fin de determinar la medida en que el valor varía con respecto a la media aritmética o el promedio.

Cursor estático

Conjunto de resultados donde los integrantes, el orden y los valores suelen ser fijos cuando el cursor está abierto. Si otros usuarios actualizan, eliminan o insertan filas, el cursor no refleja estos cambios hasta que se cierre y se vuelva a abrir.

Tabla

Unidad básica del almacenamiento de datos en una base de datos relacional. Las tablas almacenan datos en registros (filas) y campos (columnas) y suelen contener una categoría específica de elementos, como empleados o piezas. Se denomina también tabla base. Un Recordset de tipo tabla es una representación lógica de una tabla base en una base de datos.

TEMP

El archivo autoexec.bat establece la variable de entorno TEMP cuando se inicia el sistema. Por lo general, TEMP apunta a un área del disco duro utilizada por Microsoft Windows y otros programas, como el motor de base de datos de Microsoft Jet, para almacenar información que no se necesita guardar después de cerrar el sistema. Por ejemplo, la siguiente línea del archivo autoexec.bat apunta la variable de entorno TEMP a la carpeta D:\TempArea:SET TEMP=D:\TempArea

Tipo de datos Texto(n) (con especificación de longitud)

Tipo de datos de campo. Los campos de texto pueden contener hasta 255 caracteres o el número de caracteres especificado por la propiedad Tamaño del objeto Field, lo que sea menor. Si la propiedad Tamaño del campo de texto está establecida en 0, el campo de texto puede contener hasta 255 caracteres de datos.

Tipo de datos Texto (sin especificación de longitud)

Tipo de datos de campo. Los campos de texto definidos sin longitud explícita son lo

Page 72: SQL Access

mismo que el campo Memo y pueden contener hasta 2,14 GB de datos de caracteres.

Tipo de datos Fecha

Tipo de datos que almacena un valor de tiempo. El valor depende de la configuración de reloj del origen de datos.

Transacción

Serie de cambios realizados en los datos y el esquema de una base de datos. Marque el principio de una transacción con la instrucción BeginTrans, confírmela mediante la instrucción CommitTrans y deshaga todos los cambios desde BeginTrans mediante la instrucción Rollback. Las transacciones son opcionales y pueden estar anidadas hasta alcanzar cinco niveles. Incrementan la velocidad de las operaciones que modifican datos y permiten deshacer fácilmente los cambios. Las transacciones son globales para el Área de trabajo del objeto de base de datos a la que se hace referencia.

Tipo de datos VarBinary

Tipo de datos que almacena datos binarios de longitud variable. La longitud máxima es de 255 bytes.

Tipo de datos Variant

Tipo de datos especial que contiene datos numéricos, cadenas o datos de fecha así como los valores especiales Vacío y Nulo. La función VarType define cómo se tratan los datos de Variant. Todas las variables se convierten en tipos Variant si no se declara explícitamente que son de otro tipo.

V

Variable de objeto

Variable que contiene una referencia a un objeto.

Volver a consultar

Volver a ejecutar una consulta para reflejar los cambios realizados en los registros, recuperar los registros recién agregados y quitar los registros eliminados.

Conflicto de sincronización

Situación en la que los usuarios de dos réplicas han modificado el mismo registro. Uno de los registros actualizados se selecciona como "ganador" y el registro de la réplica "perdedora" se actualiza con estos datos. El otro registro actualizado se coloca en una

Page 73: SQL Access

tabla conflictiva de la réplica perdedora.

Validación

Proceso de comprobar si los datos introducidos cumplen ciertas condiciones o limitaciones.

Variable

Ubicación de almacenamiento con nombre que puede contener datos susceptibles de modificación durante la ejecución de un programa. Cada variable tiene un nombre que la identifica de manera única en su nivel de ámbito. La especificación del tipo de datos es opcional.

Varianza

Cuadrado de la desviación estándar. Medida en la que todos los valores de un grupo se diferencian del valor medio del grupo.

Vista

Vista es la definición ANSI de una tabla virtual. Es sinónimo de una consulta almacenada en Access que consta de una instrucción SELECT sin parámetros. Una vista es una definición almacenada que se materializa en la ejecución. Se diferencia de una tabla en que no almacena los datos físicamente. Sólo devuelve datos. Se puede crear una vista con la nueva sintaxis ANSI SQL CREATE VIEW expuesta a través del proveedor Microsoft OLE DB para Jet. Asimismo, se puede crear un procedimiento para permitir instrucciones DML SQL e instrucciones SELECT que tengan parámetros. Esto se puede hacer con la nueva sintaxis CREATE PROCEDURE expuesta a través del proveedor Microsoft OLE DB para Jet.