You are on page 1of 33

ACCESS 2010

Este artculo describe cmo crear y usar expresiones en Microsoft Office Access.
Use las expresiones para realizar muchas de las tareas para las que usa frmulas en
Microsoft Office Excel. En este artculo se muestra dnde usar las expresiones,
segn la tarea especfica que desee realizar.
En este artculo

Informacin general sobre las expresiones


Caractersticas nuevas del Generador de expresiones de Access 2010
Usar expresiones en controles de formularios e informes
Usar expresiones como criterios de consulta
Crear un campo calculado en una consulta
Crear un campo calculado en una tabla
Agregar una regla de validacin a un campo de tabla o un registro
Agregar una regla de validacin a un control
Establecer valores predeterminados para un campo de tabla
Establecer valores predeterminados para controles
Controlar qu acciones de macro se ejecutan
Agrupar y ordenar los datos en informes
Informacin general sobre las expresiones
Una expresin es la combinacin de uno o ms de los siguientes elementos:
funciones integradas o definidas por el usuario, identificadores, operadores y
constantes. Cada expresin da como resultado un nico valor.

Por ejemplo, la siguiente expresin contiene estos cuatro elementos:


=Suma([Precio de adquisicin])*0,08
En este ejemplo, Suma() es una funcin integrada, [Precio de adquisicin] un
identificador, * un operador matemtico y 0,08 una constante. Esta expresin
puede usarse en un cuadro de texto en un pie de pgina de formulario o de
informe para calcular los impuestos asociados a un grupo de artculos.
Las expresiones pueden ser mucho ms complejas o sencillas que en el ejemplo
anterior. Por ejemplo, esta expresin booleana (una expresin que devuelve
Verdadero o Falso) consta nicamente de un operador y una constante:
>0
Esta expresin devuelve Verdadero cuando se compara con un nmero mayor que
0 y devuelve Falso cuando se compara con un nmero menor que 0. Puede usar
esta expresin en la propiedad Regla de validacin de un campo de control o
tabla para garantizar que solo se especifiquen valores positivos.
En Access, las expresiones se usan en muchas situaciones, para realizar clculos,
manipular caracteres o realizar pruebas de datos. Tablas, consultas, formularios y
macros tienen por igual propiedades que aceptan una expresin. Por ejemplo, se
pueden usar expresiones en las propiedades Origen del control y Valor
predeterminado de un control. Las expresiones tambin se pueden usar en la

propiedad Regla de validacin de un campo de tabla. Adems, cuando se escribe


cdigo de Microsoft Visual Basic para Aplicaciones (VBA) para un procedimiento de
evento o un mdulo, a menudo se usan expresiones similares a las que se usan en
un objeto de Access, como una tabla o consulta.
En las siguientes secciones se describen los modos ms comunes de usar las
expresiones:

Nuevas caractersticas del Generador de expresiones de Access 2010


En Access 2010, el generador de expresiones se ha rediseado para que sea ms
fcil de usar. stos son algunos cambios que observar en esta versin:

IntelliSense Se ha agregado la funcionalidad de IntelliSense a casi todos los


contextos donde se puede especificar una expresin. Esto significa que al
comenzar a escribir un identificador o una funcin, Access muestra una lista de
identificadores y funciones disponibles adecuados para el contexto donde se
encuentra. Puede continuar escribiendo para refinar la lista o elegir un elemento
para que se rellene automticamente. De esta manera se acelera
considerablemente el proceso de escritura de expresiones y ayuda a garantizar la
precisin de las expresiones que cree.
IntelliSense es especialmente til para compilar bases de datos web mediante
la nueva caracterstica de publicacin web. Solo determinadas funciones son
compatibles con las bases de datos web e IntelliSense impide usar funciones
que son incompatibles.
Para obtener ms informacin acerca de bases de datos web, vea el artculo
sobre cmo crear una base de datos para compartir en la Web.

Sugerencias rpidas Cuando IntelliSense muestre una lista de identificadores y


funciones, haga clic en cada elemento de la lista para ver una breve descripcin del
mismo.
Informacin rpida En cuanto escriba un nombre de funcin completo en el
Generador de expresiones, Access mostrar un pequeo cuadro con la sintaxis de
la expresin. Esto ayuda a recordar qu argumentos requiere la funcin (si tuviera)
y en qu orden. Access marca en negrita cada argumento en la ventana de
Informacin rpida mientras lo escribe en el cuadro de expresin, de modo que
siempre sabr dnde se encuentra en la lista de argumentos.

NOTA Estas caractersticas tambin estn disponibles en la mayora de los


contextos donde se puede escribir expresiones, incluso aunque no use el cuadro de
dilogo Generador de expresiones.
Adems de estas nuevas caractersticas, se ha rediseado el propio cuadro de
dilogo Generador de expresiones:

Puede hacer clic en << Menos o Ms >> para controlar qu cantidad del cuadro
de dilogo Generador de expresiones se muestra.
Cuando se cambia el tamao del cuadro de dilogo Generador de expresiones, el
nuevo tamao se conserva durante la sesin de Access, evitando as tener que
cambiar el tamao del cuadro de dilogo cada vez que lo abra.
Se ha quitado la fila de botones de operador, con lo que el cuadro de dilogo
queda menos saturado.

Usar expresiones en controles de formularios e informes


Cuando use una expresin como origen de datos de un control, crear un control
calculado. Por ejemplo, supongamos que tiene un informe que muestra mltiples
registros de inventario, y desea crear en el pie del informe un total que sume todos
los elementos de lnea del informe.

Para calcular el total, coloque un control de cuadro de texto en el pie del informe y,
a continuacin, establezca la propiedad Origen del control del cuadro de texto
con la siguiente expresin:

=Suma([campo_de_tabla])
En este caso, campo_de_tabla es el nombre del campo que contiene los valores
del subtotal. Ese campo puede residir en una tabla o consulta. La funcin Suma
calcula el total de un conjunto de valores desde el origen de registros.
En el siguiente procedimiento se explica cmo escribir una expresin en un control
de cuadro de texto.
Escribir una expresin en un control de cuadro de texto
1. En el panel de navegacin, haga clic con el botn secundario en el formulario que
desee cambiar y, a continuacin, haga clic en Vista Presentacin o Vista Diseo
en el men contextual.
2. Seleccione el control en el que desea escribir una expresin.
3. Si no se muestra la Hoja de propiedades, presione F4.
4. Para crear manualmente una expresin, en la ficha Datos de la hoja de
propiedades, haga clic en la propiedad Origen del control del cuadro de texto y, a
continuacin, escriba = seguido del resto de la expresin. Por ejemplo, para
calcular el subtotal mostrado anteriormente, escriba =Suma([campo_de_tabla]) y
asegrese de reemplazar el nombre del campo con campo_de_tabla.
5. Para crear una expresin con el Generador de expresiones, haga clic en el botn
Generar situado en el cuadro de propiedad.
Despus de completar la expresin, la hoja de propiedades ser similar a la
siguiente:

Usar expresiones como criterios de consulta

Puede usar expresiones para definir los criterios de una consulta. Access devolver
nicamente las filas que cumplan los criterios. Por ejemplo, supongamos que desea
ver todos los pedidos cuya fecha de envo tiene lugar en los tres primeros meses
del ao 2010. Para especificar los criterios, escriba la siguiente expresin en la celda
Criterios de la columna Fecha/Hora de la consulta. En este ejemplo se usa una
columna de tipo Fecha/Hora denominada Fecha de envo. Para definir un intervalo
de fechas, especifique el criterio de esta manera:
Entre #01/01/2010# y #31/03/2010#
La columna Fecha de envo ser similar a la siguiente.

En cada registro de la tabla de pedidos, si el valor de la columna Fecha de envo


forma parte del intervalo de fechas especificado, el registro se incluye en el
resultado de la consulta. En la expresin, observe que debe encerrar las fechas
entre signos de almohadilla (#). Access trata un valor encerrado entre signos de
almohadilla como datos de tipo Fecha/Hora. Tratar esos valores como datos de
fecha u hora, le permite realizar clculos con ellos, por ejemplo, restar una fecha de
otra.
Especificar criterios en la cuadrcula de diseo de la consulta
1. En el panel de navegacin, haga clic con el botn secundario del mouse en la
consulta que desee cambiar y, a continuacin, haga clic en Vista Diseo en el
men contextual.
2. Haga clic en la celda Criterios de la columna para la que desee especificar criterios.
3. Para crear manualmente la expresin, escriba la expresin de criterios.
NOTA No coloque el operador = delante de la expresin de criterio.
4. Para crear la expresin con el Generador de expresiones, en la ficha Diseo, en el
grupo Configuracin de consultas, haga clic en Generador .

SUGERENCIA Si desea disponer de un rea mayor para editar la expresin,


coloque el cursor en la celda Criterios y, a continuacin, presione SHIFT+F2
para mostrar el cuadro Zoom:

Crear un campo calculado en una consulta


Supongamos que disea una consulta, y desea mostrar los resultados de un clculo
que implica otros campos de la consulta. Para crear el campo calculado, escriba
una expresin en una celda en blanco de la fila Campo de la consulta. Por ejemplo,
si tiene una consulta que contiene un campo Cantidad y un campo Precio, puede
multiplicarlos entre s para crear un campo calculado para Precio total si escribe la
siguiente expresin en la fila Campo de la consulta:
Precio total: [Cantidad] * [Precio]
Si la expresin comienza con el texto Precio total: la nueva columna recibe el
nombre Precio total. Con frecuencia este nombre se denomina alias. Si no
proporciona un alias, Access crear uno, por ejemplo Expr1.

Cuando ejecuta la consulta, Access realiza el clculo en cada fila, como se muestra
en la siguiente ilustracin:

Crear un campo calculado en la Vista Diseo de la consulta


1. En el panel de navegacin, haga clic con el botn secundario del mouse en la
consulta que desee cambiar y, a continuacin, haga clic en Vista Diseo en el
men contextual.
2. Haga clic en la celda Campo de la columna en la que desee crear el campo
calculado.
3. Para crear manualmente la expresin, escriba la expresin.
NOTA No comience la expresin de criterios con el operador =; en su lugar,
comincela con una etiqueta descriptiva, seguida de dos puntos. Por
ejemplo, escriba Precio total: para proporcionar la etiqueta de una expresin
que crea un campo calculado Precio total. A continuacin, escriba el criterio
de la expresin despus de los dos puntos.
4. Para crear la expresin con el Generador de expresiones, en la ficha Diseo, en el
grupo Configuracin de consultas, haga clic en Generador.

Crear un campo calculado en una tabla


En Access 2010, puede crear un campo calculado en una tabla. Esto elimina la
necesidad de contar con una consulta independiente para realizar los clculos.
NOTAS

El clculo no puede incluir campos de otras tablas o consultas.


Los resultados del clculo son de solo lectura.
Para crear el campo calculado:

1. Abra la tabla haciendo doble clic en el panel de navegacin.


2. Desplcese horizontalmente a la columna situada ms a la derecha de la tabla y
haga clic en el encabezado de columna Haga clic para agregar.
3. En la lista que aparece, haga clic en Campo calculado y, a continuacin, haga clic
en el tipo de datos que desee para el resultado.
Access muestra el Generador de expresiones.
4. Comience a escribir el clculo que desea realizar en este campo, por ejemplo:
[Cantidad] * [Precio]
NOTA No es necesario comenzar la expresin con un signo igual (=).
5. Haga clic en Aceptar.
Access agrega el campo calculado y, a continuacin, resalta el encabezado de
campo para que escriba el nombre del campo.
6. Escriba un nombre para el campo calculado y presione ENTRAR.

Agregar una regla de validacin a un campo de tabla o un registro


Las expresiones son muy tiles para validar los datos cuando se entran en la base
de datos. En las tablas, puede crear dos tipos de reglas de validacin: reglas de
validacin de campo, que impiden a los usuarios insertar datos no vlidos en un
solo campo, y reglas de validacin de registro, que impiden a los usuarios crear
registros que no cumplan los criterios especificados. Ambos tipos de reglas de
validacin se crean mediante expresiones.
Por ejemplo, supongamos que tiene una tabla denominada Inventario con un
campo denominado Unidades disponibles y desea definir una regla que obligue a
los usuarios a especificar un valor mayor o igual que cero. En otras palabras, el
inventario nunca puede ser un nmero negativo. Se puede realizar usando la

siguiente expresin como una regla de validacin de campo en el campo Regla de


validacin:
>=0
Especificar una regla de validacin
Use el procedimiento siguiente para especificar una regla de validacin de campo
o una regla de validacin de registro:
1. En el panel de navegacin, haga doble clic en la tabla que desee cambiar.
Access abre la tabla en la vista Hoja de datos.
2. Para una regla de validacin de campo, seleccione el campo que desea cambiar.
3. En la ficha Campos, en el grupo Validacin de campos, haga clic en Validacin y,
a continuacin, haga clic en Regla de validacin de campo o Regla de
validacin de registro.
Access muestra el Generador de expresiones.
4. Comience a escribir los criterios que desee. Por ejemplo, para una regla de
validacin de campo que requiere que todos los valores sean mayores o igual a
cero, escriba lo siguiente:
>=0
NOTA No escriba un signo de igualdad (=) delante de la expresin.
Las expresiones de las reglas de validacin son booleanas, lo que significa que se
resuelven como Verdadero o Falso. Una regla de validacin debe resolverse como
Verdadero para que el valor se acepte. En este ejemplo, si escribe un valor en el
campo Unidades disponibles que sea menor que cero, la expresin se evala como
Falso y Access no acepta el valor. Si no ha especificado un mensaje de validacin,
tal y como se describe en la seccin siguiente, Access presentar su propio mensaje
para indicar que el valor escrito est prohibido por la regla de validacin del
campo.
Especificar un mensaje de validacin
Para facilitar el uso de la base de datos, puede escribir mensajes de validacin
personalizados. stos reemplazan los mensajes genricos que Access muestra

cuando los datos no coinciden con una regla de validacin. Puede usar el mensaje
de validacin personalizado para proporcionar informacin especfica que ayude al
usuario a escribir los datos correctos, por ejemplo, "El valor de Unidades
disponibles no puede ser un nmero negativo". Use el procedimiento siguiente
para crear un mensaje de validacin:
1. En el panel de navegacin, haga doble clic en la tabla que desee cambiar.
Access abre la tabla en la vista Hoja de datos.
2. Para un mensaje de validacin de campo, seleccione el campo al que agreg la
regla de validacin.
3. En la ficha Campos, en el grupo Validacin de campos, haga clic en Validacin y,
a continuacin, haga clic en Mensaje de validacin de campo o Mensaje de
validacin de registro.
4. En el cuadro de dilogo Escriba el mensaje de validacin , escriba el mensaje que
desee que aparezca cuando los datos no coincidan con la regla de validacin y, a
continuacin, haga clic en Aceptar.

Agregar una regla de validacin a un control


NOTA Las reglas de validacin no estn disponibles para los controles en bases de
datos web. En su lugar, use reglas de validacin de campo o de registro, tal y como
se describe en la seccin anterior.
Adems de los campos de tabla y los registros, los controles tambin tienen una
propiedad Regla de validacin que puede aceptar una expresin. Por ejemplo,
supongamos que usa un formulario para especificar el intervalo de fechas de un
informe y desea asegurarse de que la fecha de comienzo no tenga lugar antes del
1/1/2010. Puede definir las propiedades Regla de validacin y Texto de
validacin del cuadro de texto en que escribe la fecha de comienzo de la siguiente
manera:
PROPIEDAD

VALOR

Regla de validacin>=#1/1/2010#
Texto de validacin No puede especificar una fecha anterior a 1/1/2010.

Si intenta especificar una fecha anterior a 1/1/2010, aparecer un mensaje que


muestra el texto de la propiedad Texto de validacin. Si no se escribi un texto en
el cuadro de la propiedad Texto de validacin, Access muestra un mensaje
genrico. Despus de hacer clic en Aceptar, Access regresar automticamente al
cuadro de texto.
SUGERENCIA Al establecer una regla de validacin para un campo de tabla, la
regla se aplica en la base de datos cuando se modifica ese campo. Como
alternativa, cuando establezca una regla de validacin para el control de un
formulario, la regla se aplicar solo cuando se use ese formulario. La definicin en
forma separada de las reglas de validacin de campos de tabla y controles de
formularios puede ser til si desea establecer diferentes reglas de validacin para
distintos usuarios.
Especificar una regla de validacin para un control
1. En el panel de navegacin, haga clic con el botn secundario en el formulario o
informe que desee cambiar y, a continuacin, haga clic en Vista Diseo o Vista
Presentacin en el men contextual.
2. Haga clic con el botn secundario en el control que desea cambiar y, a
continuacin, haga clic en Propiedades en el men contextual.
Access muestra la hoja de propiedades del control.
3. Haga clic en la pestaa Todas y, a continuacin, haga clic en el cuadro de
propiedad Regla de validacin.
4. Escriba la expresin o haga clic en el botn Generar
del cuadro de propiedad
para crear una expresin mediante el Generador de expresiones.
NOTA No coloque el operador = delante de la expresin.
5. Para personalizar el texto que aparece cuando un usuario escribe datos que no
coinciden con la regla de validacin, escriba el texto que desee en la propiedad
Texto de validacin.

Establecer valores predeterminados para un campo de tabla


Puede usar una expresin para especificar un valor predeterminado para un campo
de tabla. Por ejemplo, supongamos que desea insertar automticamente la fecha y

la hora en un campo denominado FechaPedido cada vez que agrega un nuevo


registro. Para ello, podra usar la siguiente expresin:
Ahora()
Especificar un valor predeterminado para un campo en una tabla
1. En el panel de navegacin, haga doble clic en la tabla que desee cambiar.
Access abre la tabla en la vista Hoja de datos.
2. Seleccione el campo que desee cambiar.
3. En la ficha Campos, haga clic en el grupo Propiedades y en Valor
predeterminado.
Access muestra el cuadro de dilogo Generador de expresiones.
4. Escriba la expresin en el cuadro y asegrese de que comience con un signo igual (
=).
NOTA Si enlaza un control a un campo de tabla y si tanto el control como el
campo de tabla tienen valores predeterminados, el valor predeterminado del
control tiene prioridad sobre el campo de tabla.

Establecer valores predeterminados para controles


Otro punto donde suele usarse una expresin es la propiedad Valor
predeterminado de un control. La propiedad Valor predeterminado de un
control se comporta de manera similar a la propiedad Valor predeterminado del
campo de una tabla. Por ejemplo, para usar la fecha actual como valor
predeterminado para un cuadro de texto, puede usar la siguiente expresin:
Fecha()
Esta expresin usa la funcin Fecha para devolver la fecha actual, pero no la hora.
Si enlaza el cuadro de texto a un campo de tabla y el campo tiene un valor
predeterminado, el valor predeterminado del control tendr prioridad sobre el
campo de tabla. Por este motivo, suele tener ms sentido definir la propiedad
Valor predeterminado del campo de la tabla. De esta manera, si basa varios
controles de diferentes formularios en el mismo campo de tabla, se aplicar a cada

control el mismo valor predeterminado, lo que permite garantizar una entrada de


datos coherente en cada formulario.
Especificar un valor predeterminado para un control
1. En el panel de navegacin, haga clic con el botn secundario en el formulario o
informe que desee cambiar y, a continuacin, haga clic en Vista Diseo o Vista
Presentacin en el men contextual.
2. Seleccione el control que desee modificar.
3. Si no se muestra la hoja de propiedades, presione F4.
4. Haga clic en la ficha Todos en la hoja de propiedades y, a continuacin, haga clic
en el cuadro de propiedad Valor predeterminado.
5. Escriba la expresin o haga clic en el botn Generar
del cuadro de propiedad
para crear una expresin mediante el Generador de expresiones.

Controlar qu acciones de macro se ejecutan


En algunos casos, quizs desee llevar a cabo una accin o una serie de acciones en
una macro solamente si se cumple una condicin concreta. Por ejemplo,
supongamos que desea que se ejecute una accin de macro solamente si el valor
de un cuadro de texto es mayor o igual que 10. Para establecer esta regla, use una
expresin en un bloque If de la macro para definir la condicin en la macro.
En este ejemplo, se supone que el cuadro de texto se denomina "Elementos". La
expresin que establece la condicin es [Elementos]>=10.

Escribir una expresin en el bloque If de una macro.

1. En el panel de navegacin, haga clic con el botn secundario del mouse en la


macro que desee cambiar y, a continuacin, haga clic en Vista Diseo en el men
contextual.
2. Haga clic en el bloque If que desea modificar o agregue un bloque If del panel
Catlogo de acciones.
3. Haga clic en la lnea superior del bloque If.
4. Escriba en el cuadro la expresin condicional o haga clic en el botn Generar
situado junto al cuadro de expresin para iniciar el Generador de expresiones.
NOTA La expresin que escriba debe ser booleana, es decir que se debe resolver
en Verdadero o Falso. Las acciones de macro en el bloque If solo se ejecutan
cuando la condicin se resuelva en Verdadero.
Agrupar y ordenar los datos en informes
El panel Agrupacin, orden y total se usa para definir los niveles de agrupacin y
los criterios de ordenacin de los datos de un informe. Normalmente, se agrupa u
ordena por el campo seleccionado de una lista. Sin embargo, si desea agrupar u
ordenar por un valor calculado, puede escribir una expresin.
Agrupar es el proceso de combinar columnas que contienen valores duplicados.
Por ejemplo, supongamos que la base de datos contiene informacin de ventas de
oficinas de distintas ciudades, y que uno de los informes de la base de datos se
denomina "Ventas por ciudad". La consulta que proporciona los datos para ese
informe agrupa los datos por los valores de cada ciudad. Este tipo de agrupacin
puede hacer que la informacin resulte ms fcil de leer y comprender.
Ordenar, en cambio, es el proceso de imponer un criterio de ordenacin en las filas
(los registros) de los resultados de la consulta. Por ejemplo, los registros se pueden
ordenar de manera ascendente o descendente por sus valores de clave principal (u
otro conjunto de valores en otro campo), o por uno o varios caracteres en un
orden especificado, por ejemplo, en orden alfabtico.
Agregar agrupacin y ordenacin a un informe
1. En el panel de navegacin, haga clic con el botn secundario en el informe que
desee cambiar y, a continuacin, haga clic en Vista Presentacin o Vista Diseo
en el men contextual.
2. En el grupo Agrupacin y totales de la ficha Diseo, haga clic en Agrupar y
ordenar.

Debajo del informe aparece el panel Agrupacin, orden y total.


3. Para agregar al informe un nivel de agrupacin, haga clic en Agregar un grupo.
4. Para agregar al informe un criterio de ordenacin, haga clic en Agregar un orden.
Aparece un nuevo nivel de grupo o criterio de ordenacin en el panel,
adems de una lista de los campos que proporcionan datos para el informe.
En esta ilustracin se muestran un nivel de grupo (agrupacin en Categora) y
un criterio de ordenacin (agrupacin en Fabricante) nuevos y comunes,
adems de una lista que contiene los campos de agrupacin y ordenacin
disponibles:

5. En la lista de campos disponibles, haga clic en expresin para iniciar el Generador


de expresiones.
6. Escriba la expresin que desea usar en el cuadro de expresin (el cuadro superior)
del Generador de expresiones. Asegrese de comenzar la expresin con el
operador igual (=).
Agregar una expresin a un grupo o criterio de ordenacin existente
1. En el panel de navegacin, haga clic con el botn secundario en el informe que
desee cambiar y, a continuacin, haga clic en Vista Presentacin o Vista Diseo
en el men contextual.
2. Haga clic en el nivel de grupo o criterio de ordenacin que desee cambiar.
3. Haga clic en la flecha abajo situada junto a Agrupar en (para los niveles de
agrupacin) u Ordenar por (para los criterios de ordenacin).

Aparece una lista que contiene los campos disponibles.


4. Al final de la lista que contiene los campos, haga clic en expresin para iniciar el
Generador de expresiones.
5. Escriba la expresin que desea usar en el cuadro de expresin (el cuadro superior)
del Generador de expresiones. Asegrese de comenzar la expresin con el
operador igual (=).
Relaciones
Mostrar todo
Una relacin constituye una forma de reunir datos de dos tablas diferentes. Consta
de dos campos, uno en cada tabla. Cuando se usan las tablas en una consulta, la
relacin permite que Access determine qu registros de una tabla se relacionan
con qu registros de otra. Por ejemplo, el usuario tiene un campo Id_Producto en
una tabla Productos y en una tabla Detalles de pedido. Cada registro de la tabla
Detalles de pedidos tienen un Id_Producto que corresponde a un registro de la
tabla Productos con el mismo Id_Producto.
Una relacin tambin puede impedir que se pierdan datos evitando que los datos
eliminados dejen de estar sincronizados.
En este artculo se describen los procedimientos paso a paso para crear, modificar y
eliminar una relacin de tabla. Tambin describe cmo exigir la integridad
referencial para evitar la creacin de registros hurfanos, cmo definir el tipo de
combinacin para determinar qu registros de cada lado de una relacin se
incluyen en el resultado de una consulta y cmo configurar las opciones en
cascada para mantener sincronizadas las referencias.
En este artculo:

Informacin general
Crear una relacin de tabla mediante la ventana Relaciones
Crear una relacin de tabla mediante el panel Lista de campos
Modificar una relacin de tabla
Exigir integridad referencial
Eliminar una relacin de tabla
Informacin general

Se puede crear una relacin de tabla en la ventana Relaciones o arrastrando un


campo hasta una hoja de datos desde el panel Lista de campos. Cuando se crea
una relacin entre tablas, los campos comunes no tienen que tener los mismos
nombres, si bien sus nombres suelen coincidir. Sin embargo, los campos comunes
tienen que tener el mismo tipo de datos. No obstante, si el campo de clave
principal es un campo Autonumeracin, el campo de clave externa tambin puede
ser un campo de tipo Nmero si la propiedad Tamao del campo de ambos
campos tiene el mismo valor. Por ejemplo, puede hacer coincidir un campo
Autonumeracin y un campo de tipo Nmero si la propiedad Tamao del campo
de ambos campos es Entero largo. Cuando ambos campos comunes son campos
de tipo Nmero, tienen que tener el mismo valor para la propiedad Tamao del
campo.
VOLVER AL PRINCIPIO
Crear una relacin de tabla mediante la ventana Relaciones
1. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga
clic en Relaciones.

2. Si an no ha definido ninguna relacin, aparecer automticamente el cuadro de


dilogo Mostrar tabla. Si no aparece, en la ficha Diseo, en el grupo Relaciones,
haga clic en Mostrar tabla.

En el cuadro de dilogo Mostrar tabla se muestran todas las tablas y


consultas de la base de datos. Para ver nicamente las tablas, haga clic en
Tablas. Para ver nicamente las consultas, haga clic en Consultas. Para ver
ambas, haga clic en Ambas.

3. Seleccione una o varias tablas o consultas y, a continuacin, haga clic en Agregar.


Cuando termine de agregar tablas y consultas a la ficha de documentos
Relaciones, haga clic en Cerrar.
4. Arrastre un campo (normalmente el campo de clave principal) de una tabla al
campo comn (la clave externa) en la otra tabla. Para arrastrar varios campos,
presione la tecla CTRL, haga clic en cada uno de los campos y, a continuacin,
arrstrelos.
Aparece el cuadro de dilogo Modificar relaciones.

5. Compruebe que los nombres de campo mostrados son los campos comunes de la
relacin. Si un nombre de campo es incorrecto, haga clic en l y seleccione el
campo apropiado en la lista.
Para exigir la integridad referencial para esta relacin, active la casilla Exigir
integridad referencial. Para obtener ms informacin sobre la integridad
referencial, consulte la seccin Exigir integridad referencial.
6. Haga clic en Crear.
Access dibuja una lnea de relacin entre las dos tablas. Si activ la casilla
Exigir integridad referencial, la lnea aparece ms gruesa en los extremos.
Adems, solo si activ la casilla Exigir integridad referencial, aparece el
nmero 1 en la parte gruesa de un extremo de la lnea de relacin y aparece
el smbolo de infinito () en la parte gruesa del otro extremo de la lnea, tal y
como se muestra en la siguiente ilustracin.

NOTAS

Para crear una relacin uno a uno. Ambos campos comunes (generalmente los
campos de clave principal y clave externa) deben tener un ndice nico. Esto
significa que la propiedad Indizado de estos campos debe tener el valor S (sin
duplicados). Si ambos campos tienen un ndice nico, Access crea una relacin
uno a uno.
Para crear una relacin uno a varios. El campo ubicado en el lado uno de la
relacin (normalmente, el campo de clave principal) tiene que tener un ndice
nico. Esto significa que la propiedad Indizado de este campo debe tener el valor
S (sin duplicados). El campo ubicado en el lado varios de la relacin no debe
tener un ndice nico. Puede tener un ndice, pero debe permitir los duplicados.
Esto significa que la propiedad Indizado de este campo debe tener el valor No o
S (con duplicados). Cuando un campo tiene un ndice nico y el otro no, Access
crea una relacin uno a varios.
VOLVER AL PRINCIPIO
Crear una relacin de tabla mediante el panel Lista de campos para agregar
un campo
Se puede agregar un campo a una tabla existente abierta en la vista Hoja de datos
arrastrndolo desde el panel Lista de campos. El panel Lista de campos muestra
los campos que estn disponibles en las tablas relacionadas as como los campos
que estn disponibles en las otras tablas de la base de datos.
Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuacin, se
ejecuta el Asistente para bsquedas, se crea automticamente una nueva relacin

uno a varios entre la tabla en el panel Lista de campos y la tabla a la que se ha


arrastrado el campo. Esta relacin, creada por Access, no exige la integridad
referencial de manera predeterminada. Para exigirla, es preciso modificar la
relacin. Vea la seccin Modificar una relacin de tabla para obtener ms
informacin.
Abrir una tabla en la vista Hoja de datos

En el panel de navegacin, haga doble clic en la tabla.


Abrir el panel Lista de campos

Presione ALT+F8. Aparece el panel Lista de campos.

En el panel Lista de campos se muestran todas las otras tablas de la base de datos
agrupadas en categoras. Cuando trabaja con una tabla en la vista Hoja de datos,
Access muestra los campos de alguna de estas dos categoras en el panel Lista de
campos: Campos disponibles en tablas relacionadas y Campos disponibles en
otras tablas. La primera categora contiene todas las tablas que tienen una relacin
con la tabla con la que se trabaja actualmente. La segunda categora contiene
todas las tablas con las que la tabla no tiene ninguna relacin.
En el panel Lista de campos, al hacer clic en el signo ms (+) situado junto al
nombre de una tabla, aparece una lista de todos los campos disponibles en esa
tabla. Para agregar un campo a la tabla, arrastre el campo que desee del panel
Lista de campos a la tabla en la vista Hoja de datos.
Agregar un campo y crear una relacin desde el panel Lista de campos
1. Con la tabla abierta en la vista Hoja de datos, presione ALT+F8. Aparece el panel
Lista de campos.
2. Bajo Campos disponibles en otras tablas, haga clic en el signo ms (+) situado
junto al nombre de una tabla para mostrar la lista de los campos de esa tabla.
3. Arrastre el campo que desee del panel Lista de campos a la tabla abierta en la
vista Hoja de datos.
4. Cuando aparezca la lnea de insercin, coloque el campo en su posicin.
Se inicia el Asistente para bsquedas.
5. Siga las instrucciones para ejecutar el Asistente para bsquedas.
El campo aparece en la tabla en la vista Hoja de datos.
Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuacin, se
ejecuta el Asistente para bsquedas, se crea automticamente una nueva relacin
uno a varios entre la tabla en Lista de campos y la tabla a la que se ha arrastrado
el campo. Esta relacin, creada por Access, no exige la integridad referencial de
manera predeterminada. Para exigirla, es preciso modificar la relacin. Vea la
seccin Modificar una relacin de tabla para obtener ms informacin.
VOLVER AL PRINCIPIO
Modificar una relacin de tabla
Para cambiar una relacin de tabla, seleccinela en la ficha de documentos
Relaciones y, a continuacin, modifquela.

1. Coloque el cursor de modo que apunte a la lnea de relacin y, a continuacin,


haga clic en la lnea para seleccionarla.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.
2. Con la lnea de relacin seleccionada, haga doble clic en ella.
O bien
En el grupo Herramientas de la ficha Diseo, haga clic en Modificar
relaciones.
Aparece el cuadro de dilogo Modificar relaciones.
Abrir el cuadro de dilogo Modificar relaciones
1. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga
clic en Relaciones.
Aparecer la ventana Relaciones.
Si an no ha definido ninguna relacin y es la primera vez que abre la
ventana Relaciones, aparecer el cuadro de dilogo Mostrar tabla. Si
aparece el cuadro de dilogo, haga clic en Cerrar.
2. En el grupo Relaciones de la ficha Diseo, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las lneas de relacin.
Observe que no se muestran las tablas ocultas (tablas con la casilla de
verificacin Oculto activada en el cuadro de dilogo Propiedades de la
tabla) ni sus relaciones, a menos que est seleccionada la opcin Mostrar
objetos ocultos en el cuadro de dilogo Opciones de exploracin.
3. Haga clic en la lnea de relacin correspondiente a la relacin que desee cambiar.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.
4. Haga doble clic en la lnea de relacin.

O bien
En el grupo Herramientas de la ficha Diseo, haga clic en Modificar
relaciones.
Aparece el cuadro de dilogo Modificar relaciones.

5. Realice los cambios y, a continuacin, haga clic en Aceptar.


El cuadro de dilogo Modificar relaciones permite cambiar una relacin de
tabla. En concreto, se pueden cambiar las tablas, las consultas o los campos a
ambos lados de la relacin. Se puede definir asimismo el tipo de
combinacin o exigir la integridad referencial y elegir una opcin en cascada.
Para obtener ms informacin sobre el tipo de combinacin y cmo
configurarlo, vea la seccin Configurar el tipo de combinacin. Para obtener
ms informacin sobre cmo exigir la integridad referencial y elegir una
opcin en cascada, vea la seccin Exigir integridad referencial.
Configurar el tipo de combinacin
Cuando se define una relacin de tabla, los hechos referentes a la relacin
determinan el diseo de las consultas. Por ejemplo, si se define una relacin entre
dos tablas y, a continuacin, se crea una consulta que use las dos tablas, Access
selecciona automticamente los campos coincidentes predeterminados basndose
en los campos especificados en la relacin. Se pueden reemplazar los valores
predeterminados iniciales en la consulta, pero los valores proporcionados por la
relacin suelen ser los correctos. Dado que va a hacer coincidir y combinar con
frecuencia los datos de varias tablas hasta de las bases de datos ms sencillas, la

configuracin de valores predeterminados mediante la creacin de relaciones


puede ahorrarle tiempo y resultarle beneficiosa.
Una consulta de varias tablas combina la informacin de ms de una tabla
haciendo coincidir los valores de los campos comunes. Esta operacin se denomina
combinacin. Por ejemplo, supongamos que desea mostrar los pedidos de los
clientes. Va a crear una consulta que combine la tabla Clientes y la tabla Pedidos
por el campo Id. de cliente. El resultado de la consulta contiene informacin sobre
los clientes y los pedidos slo para las filas en las que se ha encontrado una
coincidencia.
Uno de los valores que se puede especificar para cada relacin es el tipo de
combinacin, que indica a Access qu registros se van a incluir en el resultado de
una consulta. Por ejemplo, consideremos de nuevo una consulta que combine la
tabla Clientes y la tabla Pedidos por los campos comunes que representan el Id. de
cliente. Mediante el tipo de combinacin predeterminado (denominado
combinacin interna), la consulta devolver nicamente las filas Cliente y las filas
Pedido en las que los campos comunes (denominados campos combinados) sean
iguales.
Sin embargo, supongamos que desea incluir a todos los clientes, incluso los que
an no han realizado ningn pedido. Para ello, deber cambiar el tipo de
combinacin de una combinacin interna a lo que se denomina una combinacin
externa izquierda. Este tipo de combinacin devuelve todas las filas de la tabla
situada en el lado izquierdo de la relacin y solo las filas que coinciden con las de
la tabla a la derecha. Una combinacin externa derecha devuelve todas las filas de
la derecha y solo las filas que coinciden con las de la izquierda.
NOTA En este caso, "izquierda" y "derecha" hacen referencia a la posicin de las
tablas en el cuadro de dilogo Modificar relaciones y no en la ventana Relaciones.
Debe tener en mente el resultado que desea obtener de una consulta que combine
las tablas de esta relacin y, a continuacin, configurar el tipo de combinacin en
consecuencia.
Configurar el tipo de combinacin
1. En el cuadro de dilogo Modificar relaciones, haga clic en Tipo de combinacin.
Aparece el cuadro de dilogo Propiedades de la combinacin.

2. Haga clic en la opcin que desee y, a continuacin, haga clic en Aceptar.


En la siguiente tabla (con las tablas Clientes y Pedidos) se muestran las tres
opciones que aparecen en el cuadro de dilogo Propiedades de la combinacin,
el tipo de combinacin y si se devuelven todas las filas o las filas coincidentes de
cada tabla.
OPCIN

COMBINACIN
RELACIONAL

TABLA
IZQUIERDA

TABLA
DERECHA

1. Incluir solo las filas donde los Combinacin interna Filas


campos combinados de ambas
coincidentes
tablas sean iguales.

Filas
coincidentes

2. Incluir TODOS los registros Combinacin externaTodas las filas Filas


de 'Clientes' y solo aquellos
izquierda
coincidentes
registros de 'Pedidos' donde los
campos combinados sean
iguales.
3. Incluir TODOS los registros Combinacin externaFilas
de 'Pedidos' y solo aquellos
derecha
coincidentes
registros de 'Clientes' donde los
campos combinados sean
iguales.

Todas las filas

Cuando selecciona la opcin 2 3, se muestra una flecha en la lnea de relacin.


Esta flecha apunta al lado de la relacin en el que se muestran slo las filas
coincidentes.
Realizar cambios en el cuadro de dilogo Propiedades de la combinacin
1. En el grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga
clic en Relaciones.

Aparecer la ventana Relaciones.

Si an no ha definido ninguna relacin y es la primera vez que abre la


ventana Relaciones, aparecer el cuadro de dilogo Mostrar tabla. Si
aparece el cuadro de dilogo, haga clic en Cerrar.
2. En el grupo Relaciones de la ficha Diseo, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las lneas de relacin.
Observe que no se muestran las tablas ocultas (tablas con la casilla de
verificacin Oculto activada en el cuadro de dilogo Propiedades de la
tabla) ni sus relaciones, a menos que est seleccionada la opcin Mostrar
objetos ocultos en el cuadro de dilogo Opciones de exploracin.
3. Haga clic en la lnea de relacin correspondiente a la relacin que desee cambiar.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.
4. Haga doble clic en la lnea de relacin.
O bien
En el grupo Herramientas de la ficha Diseo, haga clic en Modificar
relaciones.
Aparece el cuadro de dilogo Modificar relaciones.
5. Haga clic en Tipo de combinacin.
6. En el cuadro de dilogo Propiedades de la combinacin, haga clic en una opcin
y, a continuacin, haga clic en Aceptar.

7. Realice todos los cambios en la relacin y, a continuacin, haga clic en Aceptar.

VOLVER AL PRINCIPIO
Exigir integridad referencial
La integridad referencial tiene como finalidad evitar los registros hurfanos y
mantener sincronizadas las referencias de modo que no haya registros que hagan
referencia a otros registros que ya no existen. Para exigir la integridad referencial,
es preciso habilitarla para una relacin de tabla. Una vez habilitada, Access
rechazar todas las operaciones que infrinjan la integridad referencial para esa
relacin de tabla. Esto significa que Access rechazar las actualizaciones que
cambien el destino de una referencia as como las eliminaciones que quiten el
destino de una referencia. Para que Access propague las actualizaciones y
eliminaciones referenciales de modo que todas las filas relacionadas cambien en
consecuencia, vea la seccin Configurar las opciones en cascada.
Activar o desactivar la integridad referencial
1. En el grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga
clic en Relaciones.

Aparecer la ventana Relaciones.


Si an no ha definido ninguna relacin y es la primera vez que abre la
ventana Relaciones, aparecer el cuadro de dilogo Mostrar tabla. Si
aparece el cuadro de dilogo, haga clic en Cerrar.
2. En el grupo Relaciones de la ficha Diseo, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las lneas de relacin.
Observe que no se muestran las tablas ocultas (tablas con la casilla de
verificacin Oculto activada en el cuadro de dilogo Propiedades de la
tabla) ni sus relaciones, a menos que est seleccionada la opcin Mostrar
objetos ocultos en el cuadro de dilogo Opciones de exploracin.
3. Haga clic en la lnea de relacin correspondiente a la relacin que desee cambiar.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.

4. Haga doble clic en la lnea de relacin.


O bien
En el grupo Herramientas de la ficha Diseo, haga clic en Modificar
relaciones.
Aparece el cuadro de dilogo Modificar relaciones.
5. Active la casilla de verificacin Exigir integridad referencial.
6. Realice todos los cambios en la relacin y, a continuacin, haga clic en Aceptar.
Tras habilitar la integridad referencial, se aplican las siguientes reglas:

No se puede especificar un valor en el campo de clave externa de una tabla


relacionada si ese valor no existe en el campo de clave principal de la tabla
principal. En caso contrario, se crean registros hurfanos.
No se puede eliminar un registro de una tabla principal si existen registros
coincidentes en una tabla relacionada. Por ejemplo, no se puede eliminar el
registro de un empleado de la tabla Empleados si hay pedidos asignados a ese
empleado en la tabla Pedidos. Sin embargo, se puede optar por eliminar un
registro principal y todos los registros relacionados en una sola operacin
activando la casilla Eliminar en cascada los registros relacionados.
No se puede cambiar un valor de clave principal en la tabla principal si ese cambio
crea registros hurfanos. Por ejemplo, no se puede cambiar un nmero de pedido
en la tabla Pedidos si hay artculos de lnea asignados a ese pedido en la tabla
Detalles de pedidos. Sin embargo, se puede optar por actualizar un registro
principal y todos los registros relacionados en una sola operacin activando la
casilla Actualizar en cascada los campos relacionados.
NOTAS
Si surgen problemas al habilitar la integridad referencial, observe que deben
cumplirse las siguientes condiciones para exigir la integridad referencial:

El campo comn de la tabla principal debe ser una clave principal o debe tener un
ndice nico.
Los campos comunes deben tener el mismo tipo de datos. Hay una excepcin: un
campo Autonumeracin puede estar relacionado con un campo de tipo Nmero
cuya propiedad Tamao del campo tenga el valor Entero largo.

Ambas tablas existen en la misma base de datos de Access. No se puede exigir la


integridad referencial en las tablas vinculadas. Sin embargo, si las tablas de origen
tienen formato de Access, se puede abrir la base de datos en las que estn
almacenadas y habilitar la integridad referencial en esa base de datos.
Configurar las opciones en cascada
Puede darse el caso de que haya una necesidad vlida de cambiar el valor en el
lado "uno" de una relacin. En ese caso, es necesario que Access actualice
automticamente todas las filas afectadas como parte de una sola operacin. De
ese modo, la actualizacin es completa y la base de datos no tiene un estado
incoherente, con algunas filas actualizadas y otras no. Access ayuda a evitar este
problema ya que incluye la opcin Actualizar en cascada los campos relacionados.
Cuando se aplica la integridad referencial, se selecciona la opcin Actualizar en
cascada los campos relacionados y, a continuacin, se actualiza una clave principal,
Access actualiza automticamente todos los campos que hacen referencia a la
clave principal.
Puede que tambin haya que eliminar una fila y todos los registros relacionados;
por ejemplo, un registro Compaa de transporte y todos los pedidos relacionados
de esa compaa de transporte. Por ello, Access incluye la opcin Eliminar en
cascada los registros relacionados. Si se aplica la integridad referencial y se activa la
casilla Eliminar en cascada los registros relacionados, Access elimina
automticamente todos los registros que hacen referencia a la clave principal
cuando se elimina el registro que contiene la clave principal.
Activar o desactivar la actualizacin y/o la eliminacin en cascada

1. En el grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga


clic en Relaciones.

Aparece la ficha de documentos Relaciones.


Si an no ha definido ninguna relacin y sta es la primera vez que abre la
ficha de documentos Relaciones, aparecer el cuadro de dilogo Mostrar
tabla. Si aparece, haga clic en Cerrar.

2. En el grupo Relaciones de la ficha Diseo, haga clic en Todas las relaciones.


Se muestran todas las tablas que tengan relaciones y las lneas de relacin.
Observe que no se muestran las tablas ocultas (tablas con la casilla Oculto
activada en el cuadro de dilogo Propiedades de la tabla) ni sus relaciones, a
menos que est seleccionada la opcin Mostrar objetos ocultos en el
cuadro de dilogo Opciones de navegacin.
3. Haga clic en la lnea de relacin correspondiente a la relacin que desee cambiar.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.
4. Haga doble clic en la lnea de relacin.
O bien
En el grupo Herramientas de la ficha Diseo, haga clic en Modificar
relaciones.
Aparece el cuadro de dilogo Modificar relaciones.
5. Active la casilla de verificacin Exigir integridad referencial.
6. Active la casilla de verificacin Actualizar en cascada los campos relacionados o
Eliminar en cascada los registros relacionados, o bien, active ambas.
7. Realice todos los cambios en la relacin y, a continuacin, haga clic en Aceptar.
NOTA Si la clave principal es un campo Autonumeracin, la activacin de la casilla
Actualizar en cascada los campos relacionados no tendr ningn efecto porque
no se puede cambiar el valor de un campo Autonumeracin.
VOLVER AL PRINCIPIO
Eliminar una relacin de tabla
IMPORTANTE Cuando se quita una relacin, tambin se quita la integridad
referencial para esa relacin si est habilitada. Como resultado, Access ya no evitar
automticamente la creacin de registros hurfanos en el lado "varios" de una
relacin.
Para quitar una relacin de tabla, es preciso eliminar la lnea de relacin en la
ventana Relaciones. Coloque el cursor de modo que apunte a la lnea de relacin y,
a continuacin, haga clic en la lnea. La lnea de relacin aparece con mayor grosor

cuando est seleccionada. Con la lnea de relacin seleccionada, presione


SUPRIMIR.
1. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga
clic en Relaciones.

Aparecer la ventana Relaciones.


Si an no ha definido ninguna relacin y es la primera vez que abre la
ventana Relaciones, aparecer el cuadro de dilogo Mostrar tabla. Si
aparece el cuadro de dilogo, haga clic en Cerrar.
2. En el grupo Relaciones de la ficha Diseo, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las lneas de relacin.
Observe que no se muestran las tablas ocultas (tablas con la casilla de
verificacin Oculto activada en el cuadro de dilogo Propiedades de la
tabla) ni sus relaciones, a menos que est seleccionada la opcin Mostrar
objetos ocultos en el cuadro de dilogo Opciones de exploracin.
3. Haga clic en la lnea de relacin correspondiente a la relacin que desee eliminar.
La lnea de relacin aparece con mayor grosor cuando est seleccionada.
4. Presione la tecla SUPR.
O bien
Haga clic con el botn secundario y, a continuacin, haga clic en ELIMINAR.
5. Puede que Access muestre el mensaje Confirma que desea eliminar de forma
permanente la relacin seleccionada de la base de datos?. Si aparece este
mensaje de confirmacin, haga clic en S.
NOTA Si alguna de las tablas empleadas en la relacin de tabla estn en uso,
quizs por parte de otra persona u otro proceso, o bien, en un objeto de base de
datos abierto como puede ser un formulario, no se podr eliminar la relacin. Es

preciso cerrar todos los objetos abiertos que usen estas tablas para poder quitar la
relacin.

You might also like