1. RELACIONES EN ACCESS
Access > Tablas
Guía de relaciones de tablas
Uno de los objetivos de un buen diseño de base de datos es eliminar la redundancia de los datos (datos
duplicados). Para lograr dicho objetivo, conviene desglosar los datos en muchas tablas basadas en temas para
que cada hecho esté representado sólo una vez. A continuación, se debe proporcionar a Microsoft Office Access
2007 los medios para recopilar de nuevo la información desglosada (esto se realiza colocando campos comunes
en tablas que están relacionadas). Sin embargo, para realizar este paso correctamente, primero deberá
comprender las relaciones existentes entre las tablas y, a continuación, especificar dichas relaciones en la base
de datos de Office Access 2007.
Para obtener más información, vea el artículo Conceptos básicos del diseño de una base de datos.
En este artículo
Introducción
Tipos de relaciones de tabla
¿Por qué crear relaciones de tabla?
Descripción de la integridad referencial
Ver relaciones de tablas
Crear una relación de tabla
Eliminar una relación de tabla
Cambiar una relación de tabla
Exigir integridad referencial
Introducción
Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a Office Access 2007 los
medios para recopilar de nuevo esa información cuando sea necesario. Para ello, se colocan campos comunes
en las tablas que están relacionadas y se definen las relaciones entre las tablas. De ese modo, se pueden crear
consultas, formularios e informes que muestren a la vez la información de varias tablas. Por ejemplo, el
formulario que se muestra a continuación incluye información recopilada de varias tablas:
La información de este formulario procede de la tabla Clientes...
...la tabla Pedidos...
...la tabla Productos...
...y la tabla Detalles de pedidos.
El nombre de cliente del cuadro Facturar a se obtiene de la tabla Clientes, los valores de Id. de pedido y Fecha
de pedido proceden de la tabla Pedidos, el nombre de producto viene de la tabla Productos, y los valores Precio
por unidad y Cantidad proceden de la tabla Detalles del pedido. Estas tablas se vinculan entre sí de varias
formas para recopilar información de cada una e incorporarla al formulario.
Siguiendo en el ejemplo anterior, los campos de las tablas deben coordinarse de modo que muestren
información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones de tablas. Una
relación de tabla hace coincidir los datos de los campos clave (a menudo un campo con el mismo nombre en
ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal de una tabla, que
proporciona un identificador único para cada registro, y una clave externa de la otra tabla. Por ejemplo, los
empleados pueden asociarse a los pedidos de los que son responsables mediante la creación de una relación de
tabla entre los campos Id. de empleado en las tablas Empleados y Pedidos.
Id. de empleado aparece en ambas tablas; como clave principal ...
... y como clave externa.
Volver al principio
Tipos de relaciones de tabla
2. Existen tres tipos de relaciones de tabla.
Una relación uno a varios
Considere una base de datos de seguimiento de pedidos que incluya una tabla Clientes y una tabla Pedidos. Un
cliente puede realizar cualquier número de pedidos. Por lo tanto, para cualquier cliente representado en la tabla
Clientes puede haber representados muchos pedidos en la tabla Pedidos. Por consiguiente, la relación entre la
tabla Clientes y la tabla Pedidos es una relación de uno a varios.
Para representar una relación de uno a varios en el diseño de la base de datos, tome la clave principal del lado
"uno" de la relación y agréguela como un campo o campos adicionales a la tabla en el lado "varios" de la
relación. En este caso, por ejemplo, agregaría un nuevo campo: (el campo Id. de la tabla Clientes) a la tabla
Pedidos y le denominaría Id. de cliente. Access utilizaría entonces el número de identificador del cliente de la
tabla Pedidos para localizar el cliente correcto de cada producto.
Una relación de varios a varios
Considere la relación entre una tabla Productos y una tabla Pedidos. Un solo pedido puede incluir varios
productos. Por otro lado, un único producto puede aparecer en muchos pedidos. Por tanto, para cada registro de
la tabla Pedidos puede haber varios registros en la tabla Productos. Además, para cada registro de la tabla
Productos puede haber varios registros en la tabla Pedidos. Este tipo de relación se denomina relación de varios
a varios porque para un producto puede haber varios pedidos, y para un pedido puede haber varios productos.
Tenga en cuenta que para detectar las relaciones de varios a varios existentes entre las tablas, es importante
que considere ambas partes de la relación.
Para representar una relación de varios a varios, debe crear una tercera tabla, a menudo denominada tabla de
unión, que divide la relación de varios a varios en dos relaciones uno a varios. Debe insertar la clave principal de
cada una de las dos tablas en la tercera. Como resultado, la tercera tabla registra cada ocurrencia, o instancia,
de la relación. Por ejemplo, la tabla Pedidos y la tabla Productos tienen una relación varios a varios que se define
mediante la creación de dos relaciones uno a varios con la tabla Detalles de pedidos. Un pedido puede incluir
muchos productos, y cada producto puede aparecer en muchos pedidos.
Una relación uno a uno
En una relación uno a uno, cada registro de la primera tabla sólo puede tener un registro coincidente en la
segunda tabla y viceversa. Este tipo de relación no es común porque, muy a menudo, la información relacionada
de este modo se almacena en la misma tabla. Puede utilizar la relación uno a uno para dividir una tabla con
muchos campos, para aislar parte de una tabla por razones de seguridad o para almacenar información que sólo
se aplica a un subconjunto de la tabla principal. Cuando identifique esta relación, ambas tablas deben compartir
un campo común.
Volver al principio
¿Por qué crear relaciones de tabla?
Puede crear relaciones de tabla explícitamente mediante la ventana Relaciones, o arrastrando un campo desde
el panel Lista de campos.Office Access 2007 usa relaciones de tabla para combinar tablas si hay que utilizarlas
en un objeto de base de datos. Existen varias razones por las que se deben crear relaciones de tabla antes de
crear otros objetos de base de datos, como formularios, consultas e informes.
Las relaciones de tabla informan de los diseños de consulta
Para trabajar con registros de más de una tabla, a menudo se debe crear una consulta que combine las tablas.
La consulta compara los valores del campo de clave principal de la primera tabla con el campo de clave externa
de la segunda tabla. Por ejemplo, para devolver filas que enumeren todos los pedidos de cada cliente, deberá
crear una consulta que combine la tabla Clientes con la tabla Pedidos de acuerdo con el campo Id. de cliente. En
la ventana Relaciones, puede especificar manualmente los campos que desea combinar. Sin embargo, si ya
tiene definida una relación entre las tablas, Office Access 2007 suministrará la combinación predeterminada, de
acuerdo con la relación de tabla existente. Además, si usa uno de los asistentes para consultas, Access utilizará
la información recopilada de las relaciones de tabla ya definidas para presentarle selecciones bien
fundamentadas y para rellenar de antemano los valores predeterminados de las opciones de la propiedad.
Las relaciones de tabla informan de los diseños de formulario e informe
Al diseñar un formulario o informe, Office Access 2007 utiliza la información recopilada de las relaciones de tabla
ya definidas para presentarle selecciones bien fundamentadas y para rellenar de antemano los valores
predeterminados de las opciones de la propiedad.
Las relaciones de tabla son la base con la que exigir integridad referencial y evitar los registros huérfanos en la
base de datos. Un registro huérfano es el que hace referencia a otro registro que no existe por ejemplo, un
registro de un pedido que hace referencia a un registro de un cliente que no existe.
Al diseñar una base de datos, se divide la información en tablas, cada una de las cuales tiene una clave
principal. A continuación, se agregan claves externas a las tablas relacionadas que hacen referencia a dichas
claves principales. Estos pares de clave principal y clave externa forman la base de las relaciones de tabla y de
las consultas de varias tablas. Por lo tanto, resulta importante, que dichas referencias de clave principal y clave
externa estén sincronizadas. La integridad referencial sirve para asegurarse de que las referencias permanecen
sincronizadas y depende de las relaciones de tabla.
Volver al principio
Descripción de la integridad referencial
Al diseñar una base de datos, se divide la información en muchas tablas basadas en temas para minimizar la
redundancia de los datos. A continuación, se proporciona a Office Access 2007 los medios para recopilar de
nuevo la información, colocando campos comunes en tablas relacionadas. Por ejemplo, para representar una
3. relación de uno a varios se toma la clave principal de la tabla "uno" y se agrega como un campo adicional a la
tabla "varios". Para recopilar de nuevo los datos, Access toma el valor de la tabla "varios" y busca el valor
correspondiente en la tabla "uno". De este modo los valores de la tabla "varios" hacen referencia a los valores
correspondientes de la tabla "uno".
Suponga que tiene una relación de uno a varios entre las tablas Transportistas y Pedidos y desea eliminar un
transportista. Si el destinatario que desea quitar tiene pedidos en la tabla Pedidos, dichos pedidos quedarán
"huérfanos" si elimina el registro Transportista. Los pedidos todavía contendrán un Id.de transportista, pero el Id.
ya no será válido, porque el registro al que hace referencia ya no existe.
El propósito de la integridad referencial es evitar los registros huérfanos y mantener las referencias sincronizadas
para que esta situación hipotética no ocurra nunca.
La integridad referencial se aplica habilitándola para una relación de tabla (vea Exigir integridad referencial para
obtener instrucciones paso a paso). Una vez habilitada, Access rechazará todas las operaciones que infrinjan la
integridad referencial de esa relación de tabla. Esto significa que Access rechaza las actualizaciones que
cambian el destino de una referencia, así como las eliminaciones que quitan el destino de una referencia. Sin
embargo, es posible que tenga la necesidad perfectamente válida de cambiar la clave principal de un
transportista que tiene pedidos en la tabla Pedidos. Para tales casos, lo que realmente necesita es que Access
actualice automáticamente todas las filas afectadas como parte de una única operación. De ese modo, Access
se asegura de que la actualización es completa y la base de datos no tiene un estado inconsistente con algunas
filas actualizadas y otras no. Por ello, Access incluye la opción Eliminar en cascada los registros relacionados.
Cuando se aplica la integridad referencial, se selecciona la opción Actualizar en cascada los campos
relacionados y, a continuación, se actualiza una clave principal, Access actualiza automáticamente todos los
campos que hacen referencia a la clave principal.
También es posible que tenga la necesidad válida de eliminar una fila y todos los registros relacionados; por
ejemplo, un registro Transportista y todos los pedidos relacionados de ese transportista. Por ello, Access incluye
la opción Eliminar en cascada los registros relacionados. Si aplica la integridad referencial y selecciona la opción
Actualizar en cascada los campos relacionados y, a continuación, elimina un registro en la parte de la clave
principal de la relación, Access eliminará automáticamente todos los campos que hagan referencia a la clave
principal.
Volver al principio
Ver relaciones de tabla
Para ver las relaciones de tabla, haga clic en Relaciones en la ficha Herramientas de base de datos. Se abrirá la
ventana Relaciones y se mostrarán las relaciones existentes. Si aún no se han definido relaciones de tabla y
abre la ventana Relaciones por primera vez, Access le pedirá que agregue una tabla o consulta a la vent ana.
Abra la ventana Relaciones.
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Si la base de datos contiene relaciones, aparecerá la ventana Relaciones y se mostrarán las relaciones
existentes. Si la base de datos no contiene relaciones y abre la ventana Relaciones por primera vez, aparecerá
el cuadro de diálogo Mostrar tabla. Haga clic en Cerrar para cerrar el cuadro de diálogo.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Se mostrarán todas las relaciones definidas en la base de datos. Observe que las tablas ocultas (las tablas que
tienen activada la casilla de verificación Oculto del cuadro de diálogo Propiedades de la tabla) y sus relaciones
no se mostrarán a no ser que esté activada la casilla de verificación Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
4. La clave principal
Esta línea representa la relación
La clave externa
Una relación de tabla se representa mediante una línea de relación trazada entre las tablas en la ventana
Relaciones. Una relación que no exige integridad referencial aparece como una línea delgada entre los campos
comunes que admiten la relación. Si selecciona la relación haciendo clic en su línea, la línea se hará más gruesa
para indicar que está seleccionada. Si exige la integridad referencial, la línea aparecerá más gruesa en los
extremos. Además, aparece el número 1 sobre la parte gruesa de un extremo de la línea de relación y aparece el
símbolo de infinito (∞) en la parte gruesa del otro extremo de la línea.
Puede seleccionar los siguientes comandos en la cinta de opciones cuando la ventana Relaciones está activa:
En la ficha Diseño, en el grupo Herramientas:
Modificar relaciones Abre el cuadro de diálogo Modificar relaciones. Si selecciona una línea de relación, puede
hacer clic en Modificar relaciones para cambiar la relación de tabla. También puede hacer doble clic en la l ínea
de relación.
Borrar diseño Oculta de la visualización todas las relaciones y tablas en la ventana Relaciones. Observe que
este comando sólo oculta las relaciones y tablas, no las elimina.
Informe Relaciones Crea un informe que muestra las relaciones y tablas de la base de datos. El informe sólo
muestra todas las relaciones y tablas que no están ocultas en la ventana Relaciones.
En la ficha Diseño, en el grupo Relaciones:
Mostrar tabla Abre el cuadro de diálogo Mostrar tabla para que pueda seleccionar tablas y consultas para verlas
en la ventana Relaciones.
Ocultar tabla Oculta la tabla seleccionada en la ventana Relaciones.
Mostrar relaciones directas Muestra todas las relaciones y tablas relacionadas de la tabla seleccionada en la
ventana Relaciones, si aún no se muestran.
Mostrar todas las relaciones Muestra todas las relaciones y tablas relacionadas de la base de datos en la
ventana Relaciones. Observe que las tablas ocultas (las tablas que tienen activada la casilla de verificación
Oculto del cuadro de diálogo Propiedades de la tabla) y sus relaciones no se mostrarán a no ser que esté
activada la casilla de verificación Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar tablas ocultas, vea el artículo Guía del panel de
exploración.
Cerrar Cierra la ventana Relaciones. Si realiza algún cambio en el diseño de la ventana Relaciones, le pedirán
que guarde los cambios.
Volver al principio
Crear una relación de tabla
Se puede crear una relación de tabla mediante la ventana Relaciones o arrastrando un campo en una hoja de
datos desde el panel Lista de campos. Cuando se crea una relación entre tablas, los campos comunes no tienen
que tener los mismos nombres, si bien sus nombres suelen coincidir. Sin embargo, dichos campos tienen que
tener el mismo tipo de datos. No obstante, si el campo de clave principal es un campo Autonumérico, el campo
de clave externa puede ser un campo de tipo Número si la propiedad Tamaño del campo de ambos campos
tiene el mismo valor. Por ejemplo, puede hacer coincidir un campo Autonumérico y un campo de tipo Número si
la propiedad Tamaño del campo de ambos campos es Entero largo. Cuando ambos campos comunes son
campos de tipo Número, tienen que tener el mismo valor para la propiedad Tamaño del campo.
Crear una relación de tabla mediante la ventana Relaciones
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Si aún no ha definido ninguna relación, aparecerá automáticamente el cuadro de diálogo Mostrar tabla. Si no
aparece, en la ficha Diseño, en el grupo Relaciones, haga clic en Mostrar tabla.
En el cuadro de diálogo 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
las tablas y las consultas, haga clic en Ambas.
Seleccione una o varias tablas o consultas y, a continuación, haga clic en Agregar. Cuando termine de agregar
tablas y consultas a la ventana Relaciones, haga clic en Cerrar.
Arrastre un campo (normalmente el campo de clave principal) de una tabla al campo común (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
continuación, arrástrelos.
Aparecerá el cuadro de diálogo Modificar relaciones.
Compruebe que los nombres de campo mostrados son los campos comunes de la relación. Si un nombre de
campo es incorrecto, haga clic en él y seleccione un nuevo campo de la lista.
5. Para exigir la integridad referencial de esta relación, active la casilla de verificación Exigir integridad referencial.
Para obtener más información sobre la integridad referencial, vea las secciones Descripción de la integridad
referencial y Exigir integridad referencial.
Haga clic en Crear.
Se dibujará una línea de relación entre las dos tablas. Si activó la casilla de verificación Exigir integridad
referencial, la línea aparecerá más gruesa en los extremos. Además, sólo si activó la casilla de verificación Exigir
integridad referencial, aparecerá el número 1 sobre la parte gruesa de un extremo de la línea de relación y
aparece el símbolo de infinito (∞) sobre la parte gruesa del otro extremo.
Notas
Para crear una relación uno a uno Ambos campos comunes (normalmente los campos de clave principal y de
clave externa) tienen que tener un índice único. Esto significa que la propiedad Indexado de estos campos debe
tener el valor Sí (sin duplicados). Si ambos campos tienen un índice único, Access crea una relación uno a uno.
Para crear una relación uno a varios El campo ubicado en el lado "uno" de la relación (normalmente, el campo
de clave principal) tiene que tener un índice único. Esto significa que la propiedad Indexado de este campo debe
tener el valor Sí (sin duplicados). El campo ubicado en el lado "varios" de la relación no debe tener un índice
único. Puede tener un índice, pero debe permitir los duplicados. Esto significa que la propiedad Indexado 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 relación uno a varios.
Crear una relación de tabla mediante el panel Lista de campos
En Office Access 2007, se puede agregar un campo a una tabla existente abierta en la vista Hoja de datos
arrastrándolo desde el panel Lista de campos. El panel Lista de campos muestra los campos disponibles de las
tablas relacionadas y también los de otras tablas. Cuando se arrastra un campo de "otra" tabla (no relacionada)
y, a continuación, se ejecuta el Asistente para búsquedas, se crea automáticamente una nueva relación uno a
varios entre la tabla en el panel Lista de campos y la tabla a la que se ha arrastrado el campo. Esta relación,
creada por Access, no exige la integridad referencial de manera predeterminada. Para exigirla, es preciso
modificar la relación. Vea la sección Cambiar una relación de tabla para obtener más información.
Abrir una tabla en la vista Hoja de datos
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla a la que desee
agregar el campo, cree la relación y haga clic en Vista Hoja de datos en el menú contextual.
Abrir el panel Lista de campos
En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos existentes.
Aparecerá el panel Lista de campos.
En el panel Lista de campos se muestran todas las otras tablas de la base de datos agrupadas en categorías.
Cuando trabaja con una tabla en la vista Hoja de datos, Access muestra los campos en alguna de estas dos
categorías del panel Lista de campos: Campos disponibles en tablas relacionadas y Campos disponibles en
otras tablas. La primera categoría contiene todas las tablas que tienen una relación con la tabla con la que
trabaja actualmente. La segunda categoría contiene todas las tablas con las que la tabla no tiene ninguna
relación.
6. En el panel Lista de campos, al hacer clic en el signo más (+) situado junto a un nombre de 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 relación desde el panel Lista de campos
En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos existentes.
Aparecerá el panel Lista de campos.
Bajo Campos disponibles en otras tablas, haga clic en el signo más (+) situado junto a un nombre de tabla para
mostrar la lista de los campos de esa tabla.
Arrastre el campo que desee del panel Lista de campos a la tabla abierta en la vista Hoja de datos.
Cuando aparezca la línea de inserción, coloque el campo en su posición.
Se iniciará el Asistente para búsquedas.
Siga las instrucciones para completar el Asistente para búsquedas.
El campo aparece en la tabla en la vista Hoja de datos.
Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuación, se ejecuta el Asistente para
búsquedas, se crea automáticamente una nueva relación uno a varios entre la tabla en el panel Lista de campos
y la tabla a la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad referencial
de manera predeterminada. Para exigirla, es preciso modificar la relación. Vea la sección Cambiar una relación
de tabla para obtener más información.
Volver al principio
Eliminar una relación de tabla
Para quitar una relación de tabla, es preciso eliminar la línea de relación en la ventana Relaciones. Coloque el
cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea. La línea de relación
aparece con mayor grosor cuando está seleccionada. Con la línea de relación seleccionada, presione
SUPRIMIR. Observe que si se quita una relación, también se quita la integridad referencial para esa relación si
está habilitada. Como resultado, Access ya no evitará automáticamente la creación de registros huérfanos en el
lado "varios" de una relación.
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro
de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando las l íneas de relación.
Haga clic en la línea de relación correspondiente a la relación que desee eliminar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Presione la tecla SUPRIMIR.
O bien,
Haga clic con el botón secundario y, a continuación, haga clic en Eliminar.
Puede que Access muestre el mensaje ¿Confirma que desea eliminar de forma permanente la relación
seleccionada de la base de datos?. Si aparece este mensaje de confirmación, haga clic en Sí.
Nota Si se está usando alguna de las tablas empleadas en la relación de tabla, quizás por 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
relación. Primero se deben cerrar todos los objetos abiertos que usen estas tablas para poder quitar la relación.
Volver al principio
Cambiar una relación de tabla
Para cambiar una relación de tabla, selecciónela en la ventana Relaciones y, a continuación, modifíquela.
Coloque el cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea para
seleccionarla. La línea de relación aparece con mayor grosor cuando está seleccionada. Con la línea de relación
seleccionada, haga doble clic en ella o haga clic en Modificar relaciones en el grupo Herramientas en la ficha
Diseño. Aparecerá el cuadro de diálogo Modificar relaciones.
Realice sus cambios en el cuadro de diálogo Modificar relaciones
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
7. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro
de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones y se muestran las líneas de relación. Observe que las tablas
ocultas (las tablas que tienen activada la casilla de verificación Oculto en el cuadro de diálogo Propiedades) y las
relaciones no se muestran a menos que se seleccione Mostrar objetos ocultos en el cuadro de diálogo Opciones
de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación de la relación que desee modificar. La línea de relación aparece con mayor
grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
Realice los cambios y, a continuación, haga clic en Aceptar.
El cuadro de diálogo Modificar relaciones permite cambiar una relación de tabla. En concreto, se pueden cambiar
las tablas, las consultas o los campos a ambos lados de la relación. Se puede definir asimismo el tipo de
combinación o exigir la integridad referencial y elegir una opción en cascada. Para obtener más información
sobre el tipo de combinación y cómo configurarlo, vea la sección Configurar el tipo de combinación. Para obtener
más información sobre cómo exigir la integridad referencial y elegir una opción en cascada, vea la sección Exigir
integridad referencial.
Establecer el tipo de combinación
Cuando se define una relación de tabla, los hechos referentes a la relación determinan el diseño de las
consultas. Por ejemplo, si se define una relación entre dos tablas y, a continuación, se crea una consulta que use
dichas tablas, Access selecciona automáticamente los campos coincidentes predeterminados basándose en los
campos especificados en la relación. Se pueden reemplazar los valores predeterminados iniciales en la consulta,
pero los valores proporcionados por la relación 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 más sencillas, la configuración
de valores predeterminados mediante la creación de relaciones puede ahorrarle tiempo y resultarle beneficiosa.
Una consulta de varias tablas combina la información de más de una tabla haciendo coincidir los valores de los
campos comunes. Esta operación se denomina combinación. 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 información sobre los clientes y los pedidos sólo para las filas en
las que se ha encontrado una coincidencia.
Uno de los valores que se puede especificar para cada relación es el tipo de combinación, 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 combinación predeterminado (denominado combinación interna), la consulta devolverá
únicamente las filas Cliente y las filas Pedido en las que los campos comunes (denominados campos
combinados) sean iguales.
8. Sin embargo, supongamos que desea incluir a todos los clientes, incluso los que aún no han realizado ningún
pedido. Para ello, deberá cambiar el tipo de combinación de una combinación interna a lo que se denomina una
combinación externa izquierda. Este tipo de combinación devuelve todas las filas de la tabla situada en el lado
izquierdo de la relación y sólo las filas que coinciden con las de la tabla a la derecha. Una combinación externa
derecha devuelve todas las filas de la derecha y sólo las filas que coinciden con las de la izquierda.
Nota En este caso, "izquierda" y "derecha" hacen referencia a la posición de las tablas en el cuadro de diálogo
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 relación y,
a continuación, configurar el tipo de combinación en consecuencia.
Establecer el tipo de combinación
En el cuadro de diálogo Modificar relaciones, haga clic en Tipo de combinación.
Aparecerá el cuadro de diálogo Propiedades de la combinación.
Haga clic en la opción que desee y, a continuación, 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 diálogo Propiedades de la combinación, el tipo de combinación y si se incluyen todas las filas o las
filas coincidentes de cada tabla.
Opción
Combinación
relacional Tabla izquierda
Tabla
derecha
1. Incluir sólo las filas donde los campos combinados de
ambas tablas sean iguales.
Combinación
interna
Filas
coincidentes
Filas
coincidentes
2. Incluir TODOS los registros de 'Clientes' y sólo aquellos
registros de 'Pedidos' donde los campos combinados sean
iguales.
Combinación
externa
izquierda
Todas las filas Filas
coincidentes
3. Incluir TODOS los registros de 'Pedidos' y sólo aquellos
registros de 'Clientes' donde los campos combinados sean
iguales.
Combinación
externa
derecha
Filas
coincidentes
Todas las
filas
Cuando selecciona la opción 2 ó 3, se muestra una flecha en la línea de relación. Esta flecha apunta al lado de la
relación en el que se muestran sólo las filas coincidentes.
Realizar cambios en el cuadro de diálogo Propiedades de la combinación
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro
de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. Observe que las tablas
ocultas (las tablas que tienen activada la casilla de verificación Oculto del cuadro de diálogo Propiedades de la
tabla) y sus relaciones no se mostrarán a no ser que esté activada la casilla de verificación Mostrar objetos
ocultos en el cuadro de diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación de la relación que desee modificar. La línea de relación aparece con mayor
grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
Haga clic en Tipo de combinación.
En el cuadro de diálogo Propiedades de la combinación, haga clic en una opción y, a continuación, haga clic en
Aceptar.
9. Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.
Volver al principio
Exigir integridad referencial
El uso de la integridad referencial tiene como finalidad evitar los registros huérfanos 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 relación de tabla. Una vez habilitada, Access
rechazará todas las operaciones que infrinjan la integridad referencial para esa relación de tabla. Access rechaza
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 sección Configurar las opciones en cascada.
Activar o desactivar la integridad referencial
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro
de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. Observe que las tablas
ocultas (las tablas que tienen activada la casilla de verificación Oculto check box in the table's Propiedades
dialog box is selected) and their relationships will not be shown unless Show Hidden Objects is selected in the
Navigation Options dialog box.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación de la relación que desee modificar. La línea de relación aparece con mayor
grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
Active la casilla de verificación Exigir integridad referencial.
Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.
Tras aplicar 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 huérfanos.
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 operación activando la casilla de verificación Eliminar en cascada los registros
relacionados.
No se puede cambiar un valor de clave principal en la tabla principal si ese cambio crea registros huérfanos. Por
ejemplo, no se puede cambiar un número de pedido en la tabla Pedidos si hay artículos de línea asignados a ese
pedido en la tabla Detalles de pedidos. Sin embargo, se puede optar por actualizar un registro principal y t odos
los registros relacionados en una sola operación activando la casilla de verificación Actualizar en cascada los
campos relacionados.
Notas
Si surgen problemas al habilitar la integridad referencial, observe que deben cumplirse las siguientes condic iones
para poder aplicar la integridad referencial:
El campo común de la tabla principal debe ser una clave principal o debe tener un índice único.
10. Los campos comunes deben tener el mismo tipo de datos. Hay una excepción: un campo Autonumérico puede
estar relacionado con un campo de tipo Número cuya propiedad Tamaño del campo tenga el valor Largo entero.
Ambas tablas deben existir 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 están 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 válida de cambiar el valor en el lado "uno" de una relación. En
ese caso, es necesario que Access actualice automáticamente todas las filas afectadas como par te de una sola
operación. De ese modo, la actualización es completa y la base de datos no tiene un estado inconsistente con
algunas filas actualizadas y otras no. Access ayuda a evitar este problema ya que incluye la opción Actualizar en
cascada los campos relacionados. Cuando se aplica la integridad referencial, se selecciona la opción Actualizar
en cascada los campos relacionados y, a continuación, se actualiza una clave principal, Access actualiza
automáticamente todos los campos que hacen referencia a la clave principal.
Puede que también se haya que eliminar una fila y todos los registros relacionados; por ejemplo, un registro
Compañía de transporte y todos los pedidos relacionados de esa compañía de transporte. Por ello, Access
incluye la opción Eliminar en cascada los registros relacionados. Cuando se aplica la integridad referencial y se
activa la casilla de verificación Eliminar en cascada los registros relacionados, Access elimina automáticamente
todos los registros que hacen referencia a la clave principal al eliminarse el registro que contiene la clave
principal.
Activar o desactivar la actualización y/o la eliminación en cascada
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro
de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. Observe que las tablas
ocultas (las tablas que tienen activada la casilla de verificación Oculto del cuadro de diálogo Propiedades de la
tabla) y sus relaciones no se mostrarán a no ser que esté activada la casilla de verificación Mostrar objetos
ocultos en el cuadro de diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea Guía del panel de exploración.
Haga clic en la línea de relación de la relación que desee modificar. La línea de relación aparece con mayor
grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones .
Aparecerá el cuadro de diálogo Modificar relaciones.
Active la casilla de verificación Exigir integridad referencial.
Active la casilla de verificación Actualizar en cascada los campos relacionados o Eliminar en cascada los
registros relacionados, o bien, active ambas.
Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.
Nota Si la clave principal es un campo Autonumérico, la activación de la casilla de verificación Actualizar en
cascada los campos relacionados no tendrá ningún efecto porque no se puede cambiar el valor de un campo
Autonumérico.
Volver al principio
Vea también
Agregar, establecer, cambiar o quitar la clave principal
Conceptos básicos del diseño de una base de datos
Introducción al panel de exploración
Access > Tablas
Crear, modificar o eliminar una relación
Mostrar todo
Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a Office Access 2007 los
medios para recopilar de nuevo esa información cuando sea necesario. Para ello, se colocan campos comunes
11. en las tablas que están relacionadas y se definen las relaciones entre las tablas. De ese modo, se pueden crear
consultas, formularios e informes que muestren a la vez la información de varias tablas.
En este artículo se describen los procedimientos paso a paso para crear, modificar y eliminar una relación de
tabla. Se incluye información sobre cómo exigir la integridad referencial para evitar la creación de registros
huérfanos, cómo definir el tipo de combinación para determinar qué registros de cada lado de una relación se
incluyen en el resultado de una consulta y cómo configurar las opciones en cascada para mantener
sincronizadas las referencias.
Para obtener más información sobre las relaciones de tablas, vea el artículo Guía de relaciones de tablas.
En este artículo
Crear una relación de tabla
Crear una relación de tabla mediante la ficha de documentos Relaciones
Crear una relación de tabla mediante el panel Lista de campos
Modificar una relación de tabla
Exigir integridad referencial
Eliminar una relación de tabla
Crear una relación de tabla
Se puede crear una relación 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 relación 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 Autonumérico, el campo
de clave externa también puede ser un campo de tipo Número si la propiedad Tamaño del campo de ambos
campos tiene el mismo valor. Por ejemplo, puede hacer coincidir un campo Autonumérico y un campo de tipo
Número si la propiedad Tamaño del campo de ambos campos es Entero largo. Cuando ambos campos comunes
son campos de tipo Número, tienen que tener el mismo valor para la propiedad Tamaño del campo.
Volver al principio
Crear una relación de tabla mediante la ficha de documentos Relaciones
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el botón Relaciones.
Si aún no ha definido ninguna relación, aparecerá automáticamente el cuadro de diálogo Mostrar tabla. Si no
aparece, en la ficha Diseño, en el grupo Relaciones, haga clic en Mostrar tabla.
En el cuadro de diálogo 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.
Seleccione una o varias tablas o consultas y, a continuación, haga clic en Agregar. Cuando termine de agregar
tablas y consultas a la ficha de documentos Relaciones, haga clic en Cerrar.
Arrastre un campo (normalmente el campo de clave principal) de una tabla al campo común (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
continuación, arrástrelos.
Aparece el cuadro de diálogo Modificar relaciones.
12. Compruebe que los nombres de campo mostrados son los campos comunes de la relación. 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 relación, active la casilla de verificación Exigir integridad referencial.
Para obtener más información sobre la integridad referencial, vea la sección Exigir integridad referencial.
Además, vea el artículo Guía de relaciones de tablas.
Haga clic en Crear.
Access dibuja una línea de relación entre las dos tablas. Si activó la casilla de verificación Exigir integridad
referencial, la línea aparece más gruesa en los extremos. Además, sólo si activó la casilla de verificación Exigir
integridad referencial, aparece el número 1 en la parte gruesa de un extremo de la línea de relación y aparece el
símbolo de infinito (∞) en la parte gruesa del otro extremo de la línea, tal y como se muestra en la siguiente
ilustración.
NOTAS
Para crear una relación uno a uno Ambos campos comunes (normalmente los campos de clave principal y de
clave externa) tienen que tener un índice único. Esto significa que la propiedad Indexado de estos campos debe
tener el valor Sí (sin duplicados). Si ambos campos tienen un índice único, Access crea una relación uno a uno.
Para crear una relación uno a varios El campo ubicado en el lado uno de la relación (normalmente, el campo de
clave principal) tiene que tener un índice único. Esto significa que la propiedad Indexado de este campo debe
tener el valor Sí (sin duplicados). El campo ubicado en el lado varios de la relación no debe tener un índice único.
Puede tener un índice, pero debe permitir los duplicados. Esto significa que la propiedad Indexado 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 relación uno a varios.
Volver al principio
Crear una relación de tabla mediante el panel Lista de campos
En Office Access 2007, se puede agregar un campo a una tabla existente abierta en la vista Hoja de datos
arrastrándolo desde el panel Lista de campos. El panel Lista de campos muestra los campos que están
disponibles en las tablas relacionadas así como los campos que están disponibles en las otras tablas de la base
de datos. Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuación, se ejecuta el Asistente
para búsquedas, se crea automáticamente una nueva relación uno a varios entre la tabla en el panel Lista de
campos y la tabla a la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad
referencial de manera predeterminada. Para exigirla, es preciso modificar la relac ión. Vea la sección Modificar
una relación de tabla para obtener más información.
Abrir una tabla en la vista Hoja de datos
13. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla a la que desee
agregar el campo, cree la relación y, a continuación, haga clic en Vista Hoja de datos en el menú contextual.
Abrir el panel Lista de campos
En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos existentes.
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 categorías.
Cuando trabaja con una tabla en la vista Hoja de datos, Access muestra los campos de alguna de estas dos
categorías en el panel Lista de campos: Campos disponibles en tablas relacionadas y Campos disponibles en
otras tablas. La primera categoría contiene todas las tablas que tienen una relación con la tabla con la que se
trabaja actualmente. La segunda categoría contiene todas las tablas con las que la tabla no tiene ninguna
relación.
En el panel Lista de campos, al hacer clic en el signo más (+) situado junto a un nombre de 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 relación desde el panel Lista de campos
En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos existentes.
14. Aparece el panel Lista de campos.
Bajo Campos disponibles en otras tablas, haga clic en el signo más (+) situado junto a un nombre de tabla para
mostrar la lista de los campos de esa tabla.
Arrastre el campo que desee del panel Lista de campos a la tabla abierta en la vista Hoja de datos.
Cuando aparezca la línea de inserción, coloque el campo en su posición.
Se inicia el Asistente para búsquedas.
Siga las instrucciones para ejecutar el Asistente para búsquedas.
El campo aparece en la tabla en la vista Hoja de datos.
Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuación, se ejecuta el Asistente para
búsquedas, se crea automáticamente una nueva relación uno a varios entre la tabla en el panel Lista de campos
y la tabla a la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad referencial
de manera predeterminada. Para exigirla, es preciso modificar la relación. Vea la sección Modificar una relación
de tabla para obtener más información.
Volver al principio
Modificar una relación de tabla
Para cambiar una relación de tabla, selecciónela en la ficha de documentos Relaciones y, a continuación,
modifíquela.
Coloque el cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea para
seleccionarla.
La línea de relación aparece con mayor grosor cuando está seleccionada.
Con la línea de relación seleccionada, haga doble clic en ella.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
Abrir el cuadro de diálogo Modificar relaciones
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el botón Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos Relaciones,
aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Mostrar todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se muestran las
tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de diálogo Propiedades de la
tabla) ni sus relaciones, a menos que esté seleccionada la opción Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación correspondiente a la relación que desee cambiar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
15. Realice los cambios y, a continuación, haga clic en Aceptar.
El cuadro de diálogo Modificar relaciones permite cambiar una relación de tabla. En concreto, se pueden cambiar
las tablas, las consultas o los campos a ambos lados de la relación. Se puede definir asimismo el tipo de
combinación o exigir la integridad referencial y elegir una opción en cascada. Para obtener más información
sobre el tipo de combinación y cómo configurarlo, vea la sección Configurar el tipo de combinación. Para obtener
más información sobre cómo exigir la integridad referencial y elegir una opción en cascada, vea la sección Exigir
integridad referencial.
Configurar el tipo de combinación
Cuando se define una relación de tabla, los hechos referentes a la relación determinan el diseño de las
consultas. Por ejemplo, si se define una relación entre dos tablas y, a continuación, se crea una consulta que use
las dos tablas, Access selecciona automáticamente los campos coincidentes predeterminados basándose en los
campos especificados en la relación. Se pueden reemplazar los valores predeterminados iniciales en la consulta,
pero los valores proporcionados por la relación 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 más sencillas, la configuración
de valores predeterminados mediante la creación de relaciones puede ahorrarle tiempo y resultarle beneficiosa.
Una consulta de varias tablas combina la información de más de una tabla haciendo coincidir los valores de los
campos comunes. Esta operación se denomina combinación. 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 información sobre los clientes y los pedidos sólo para las filas en
las que se ha encontrado una coincidencia.
Uno de los valores que se puede especificar para cada relación es el tipo de combinación, 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 combinación predeterminado (denominado combinación 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 aún no han realizado ningún
pedido. Para ello, deberá cambiar el tipo de combinación de una combinación interna a lo que se denomina una
combinación externa izquierda. Este tipo de combinación devuelve todas las filas de la tabla situada en el lado
izquierdo de la relación y sólo las filas que coinciden con las de la tabla a la derecha. Una combinación externa
derecha devuelve todas las filas de la derecha y sólo las filas que coinciden con las de la izquierda.
NOTA En este caso, "izquierda" y "derecha" hacen referencia a la posición de las tablas en el cuadro de
diálogo Modificar relaciones y no en la ficha de documentos Relaciones.
Debe tener en mente el resultado que desea obtener de una consulta que combine las tablas de esta relación y,
a continuación, configurar el tipo de combinación en consecuencia.
Configurar el tipo de combinación
En el cuadro de diálogo Modificar relaciones, haga clic en Tipo de combinación.
Aparece el cuadro de diálogo Propiedades de la combinación.
Haga clic en la opción que desee y, a continuación, 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 diálogo Propiedades de la combinación, el tipo de combinación y si se devuelven todas las filas o las
filas coincidentes de cada tabla.
Opción
Combinación
relacional Tabla izquierda
Tabla
derecha
1. Incluir sólo las filas donde los campos combinados de
ambas tablas sean iguales.
Combinación
interna
Filas
coincidentes
Filas
coincidentes
2. Incluir TODOS los registros de 'Clientes' y sólo aquellos
registros de 'Pedidos' donde los campos combinados sean
Combinación
externa
Todas las filas Filas
coincidentes
16. iguales. izquierda
3. Incluir TODOS los registros de 'Pedidos' y sólo aquellos
registros de 'Clientes' donde los campos combinados sean
iguales.
Combinación
externa
derecha
Filas
coincidentes
Todas las
filas
Cuando selecciona la opción 2 ó 3, se muestra una flecha en la línea de relación. Esta flecha apunta al lado de la
relación en el que se muestran sólo las filas coincidentes.
Realizar cambios en el cuadro de diálogo Propiedades de la combinación
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos Relaciones,
aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se muestran las
tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de diálogo Propiedades de la
tabla) ni sus relaciones, a menos que esté seleccionada la opción Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación correspondiente a la relación que desee cambiar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
Haga clic en Tipo de combinación.
En el cuadro de diálogo Propiedades de la combinación, haga clic en una opción y, a continuación, haga clic en
Aceptar.
Realice todos los cambios en la relación y, a continuación, haga clic en Aceptar.
Volver al principio
Exigir integridad referencial
La integridad referencial tiene como finalidad evitar los registros huérfanos 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 relación de tabla. Una vez habilitada, Access rechazará
todas las operaciones que infrinjan la integridad referencial para esa relación 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 sección Configurar las opciones en cascada.
Activar o desactivar la integridad referencial
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
17. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos Relaciones,
aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se muestran las
tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de diálogo Propiedades de la
tabla) ni sus relaciones, a menos que esté seleccionada la opción Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación correspondiente a la relación que desee cambiar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
Active la casilla de verificación Exigir integridad referencial.
Realice todos los cambios en la relación y, a continuación, 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 huérfanos.
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 operación activando la casilla de verificación Eliminar en cascada los registros
relacionados.
No se puede cambiar un valor de clave principal en la tabla principal si ese cambio crea registros huérfanos. Por
ejemplo, no se puede cambiar un número de pedido en la tabla Pedidos si hay artículos de línea 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 operación activando la casilla de verificación Actualizar en casc ada 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 común 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 excepción: un campo Autonumérico puede
estar relacionado con un campo de tipo Número cuya propiedad Tamaño del campo tenga el valor Largo entero.
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 abri r la base de datos
en las que están 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 válida de cambiar el valor en el lado "uno" de una relación. En
ese caso, es necesario que Access actualice automáticamente todas las filas afectadas como parte de una sola
operación. De ese modo, la actualización es completa y la base de datos no tiene un estado inconsistente con
algunas filas actualizadas y otras no. Access ayuda a evitar este problema ya que incluye la opción Actualizar en
cascada los campos relacionados. Cuando se aplica la integridad referencial, se selecciona la opción Actualizar
en cascada los campos relacionados y, a continuación, se actualiza una clave principal, Access actualiza
automáticamente todos los campos que hacen referencia a la clave principal.
Puede que también se haya que eliminar una fila y todos los registros relacionados; por ejemplo, un registro
Compañía de transporte y todos los pedidos relacionados de esa compañía de transporte. Por ello, Access
incluye la opción Eliminar en cascada los registros relacionados. Cuando se aplica la integridad referencial y se
activa la casilla de verificación Eliminar en cascada los registros relacionados, Access elimina automáticamente
todos los registros que hacen referencia a la clave principal al eliminarse el registro que contiene la clave
principal.
Activar o desactivar la actualización y/o la eliminación en cascada
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
18. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos Relaciones,
aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se muestran las
tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de diálogo Propiedades de la
tabla) ni sus relaciones, a menos que esté seleccionada la opción Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación correspondiente a la relación que desee cambiar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Haga doble clic en la línea de relación.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
Active la casilla de verificación Exigir integridad referencial.
Active la casilla de verificación Actualizar en cascada los campos relacionados o Eliminar en cascada los
registros relacionados, o bien, active ambas.
Realice todos los cambios en la relación y, a continuación, haga clic en Aceptar.
NOTA Si la clave principal es un campo Autonumérico (tipo de datos Autonumérico: tipo de datos de campo
que, en una base de datos de Microsoft Access, almacena automáticamente un número exclusivo para cada
registro en el momento en que éste se agrega a una tabla. Se pueden generar tres tipos de números: secuencial,
aleatorio e Id. de réplica.), la activación de la casilla de verificación Actualizar en cascada los campos
relacionados no tendrá ningún efecto porque no se puede cambiar el valor de un campo Autonumérico.
Volver al principio
Eliminar una relación de tabla
Para quitar una relación de tabla, es preciso eliminar la línea de relación en la ficha de documentos Relaciones.
Coloque el cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea. La línea de
relación aparece con mayor grosor cuando está seleccionada. Con la línea de relación seleccionada, presione
SUPRIMIR. Observe que si se quita una relación, también se quita la integridad referencial para esa relación si
está habilitada. Como resultado, Access ya no evitará automáticamente la creación de registros huérfanos en el
lado "varios" de una relación.
Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.
En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el botón Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos Relaciones,
aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.
En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.
Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se muestran las
tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de diálogo Propiedades de la
tabla) ni sus relaciones, a menos que esté seleccionada la opción Mostrar objetos ocultos en el cuadro de
diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del panel de
exploración.
Haga clic en la línea de relación correspondiente a la relación que desee eliminar. La línea de relación aparece
con mayor grosor cuando está seleccionada.
Presione la tecla SUPRIMIR.
O bien,
Haga clic con el botón secundario del mouse y, a continuación, haga clic en Eliminar.
Puede que Access muestre el mensaje ¿Confirma que desea eliminar de forma permanente la relación
seleccionada de la base de datos?. Si aparece este mensaje de confirmación, haga clic en Sí.
19. NOTA Si se está usando alguna de las tablas empleadas en la relación de tabla, quizás por 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 relación. Es preciso cerrar todos los objetos abiertos que usen estas tablas para poder quitar la relación.
Volver al principio
Vea también
Agregar, establecer, cambiar o quitar la clave principal
Conceptos básicos del diseño de una base de datos
Guía de relaciones de tablas
Access > Formularios
Insertar una hoja de datos en un formulario
Mostrar todo
Una hoja de datos es una sencilla vista de datos organizados en filas y columnas. Si se hace doble clic en una
tabla en el panel de exploración, Microsoft Office Access 2007 la muestra como una hoja de datos. Gracias a su
presentación compacta de los datos, las hojas de datos funcionan bien cuando se usan como subformularios
para mostrar los datos del lado "varios" de una relación uno a varios (relación uno a varios: asociación entre dos
tablas en la que el valor de clave principal de cada registro de la tabla principal se corresponde con el valor del
campo o los campos coincidentes de varios registros de la tabla relacionada.). En este artículo se describe cómo
se pueden agregar hojas de datos a los formularios de Office Access 2007.
¿Qué desea hacer?
Ver un ejemplo de una hoja de datos en un formulario
Establecer relaciones entre tablas
Crear un formulario que contenga una hoja de datos mediante la herramienta Formulario
Crear un formulario que contenga una hoja de datos mediante la vista Presentación
Insertar una hoja de datos en un formulario existente mediante la vista Presentación
Insertar una hoja de datos en un formulario existente mediante la vista Diseño
Obtener información sobre las diferencias entre un formulario dividido y un formulario que contiene una hoja de
datos
Ver un ejemplo de una hoja de datos en un formulario
Supongamos que desea crear un formulario que muestre datos sobre categorías de productos y todos los
productos dentro de esas categorías. Los datos de la tabla Categorías representan el lado "uno" de la relación,
mientras que los datos de la tabla Productos representan el lado "varios" de la relación. Cada categoría puede
contener numerosos productos.
El formulario principal muestra los datos del lado "uno" de la relación.
La hoja de datos muestra los datos del lado "varios" de la relación.
Volver al principio
Establecer relaciones entre tablas
Antes de diseñar un formulario con una hoja de datos, debe revisar la relación que existe entre las tablas y
agregar las relaciones que falten. De este modo, Access podrá crear automáticamente los vínculos entre las
hojas de datos y los formularios principales. Para ver, agregar o modificar las relaciones entre las tablas de una
base de datos, en la ficha Herramientas avanzadas, en el grupo Analizar, haga clic en Relaciones. Para obtener
más información sobre cómo crear relaciones, vea los vínculos que aparecen en la sección Vea también.
Volver al principio
Crear un formulario que contenga una hoja de datos mediante la herramienta Formulario
Cuando se usa la herramienta Formulario para crear un formulario basado en una tabla que está en el lado "uno"
de una relación uno a varios, Access inserta automáticamente una hoja de datos que muestra los datos del lado
"varios" de la relación.
Por ejemplo, si se cumplen las condiciones siguientes, Access inserta una hoja de datos que muestra todos los
pedidos de cada cliente:
Se crea un formulario simple basado en la tabla Compradores.
Se ha definido una relación uno a varios con la tabla Pedidos que especifica que un registro de la tabla
Compradores se puede relacionar con varios registros de la tabla Pedidos.
La tabla Compradores no está en el lado "uno" de ninguna otra relación uno a varios.
20. En el panel de exploración, haga clic en la tabla que está en el lado "uno" de la relación uno a varios.
En la ficha Crear, en el grupo Formularios, haga clic en Formulario.
Access crea el formulario con la hoja de datos en su parte inferior. Si Access no crea una hoja de datos, eso
significa que la tabla usada para el formulario no forma parte de una relación uno a varios o que la tabla forma
parte de más de una relación uno a varios.
NOTAS
Además de crear el formulario principal, este proceso no crea ningún otro objeto de formulario. La hoja de datos
es una vista directa de la tabla.
Para ocultar una columna en una hoja de datos Haga clic con el botón secundario del mouse (ratón) y, a
continuación, haga clic en Ocultar columna. Esta configuración se guarda. Si se guarda y se cierra el formulario
y, a continuación, se vuelve a abrirlo, la columna permanecerá oculta.
Para restaurar una columna oculta en una hoja de datos Haga clic con el botón secundario del mouse en
cualquier encabezado de columna de la hoja de datos y, a continuación, haga clic en Mostrar columnas. Active la
casilla de verificación situada junto a cada columna que desee restaurar y, a continuación, haga clic en Cerrar.
Volver al principio
Crear un formulario que contiene una hoja de datos mediante la vista Presentación
Si ya se han definido las relaciones entre las tablas de la base de datos, se puede crear rápidament e un
formulario que contiene una hoja de datos mediante la vista Presentación. Cuando se agrega un campo del lado
"varios" de una relación a un formulario basado en el lado "uno" de la relación, Access crea automáticamente
una hoja de datos para mostrar los registros relacionados.
En la ficha Crear, en el grupo Formularios, haga clic en En blanco.
Access abre un formulario en blanco en la vista Presentación y muestra el panel Lista de campos.
NOTA Si cierra el panel Lista de campos de manera fortuita, puede volver a abrirlo siguiendo uno de estos
procedimientos:
Presione ALT+F8.
O bien,
En la ficha Formato, en el grupo Controles, haga clic en Agregar campos existentes.
Haga clic en el signo más situado junto a la tabla que está en el lado "uno" de la relación uno a varios y, a
continuación, arrastre el primer campo que desee incluir hasta el formulario.
Observe que el panel Lista de campos divide las tablas en secciones: Campos disponibles para esta vista y, más
abajo, Campos disponibles en tablas relacionadas. En la parte inferior del panel Lista de campos, las tablas que
no están directamente relacionadas con la tabla principal se encuentran bajo Campos disponibles en otras
tablas.
Desde la sección Campos disponibles para esta vista, arrastre todos los campos que desee hasta el formulario
principal.
Desde la sección Campos disponibles en tablas relacionadas, arrastre hasta el formulario el primer campo que
desee incluir en la hoja de datos. Access crea una hoja de datos y le agrega el campo.
Para agregar campos adicionales a la nueva hoja de datos, primero debe hacer clic en la hoja para seleccionarla.
Observe que Access reorganiza el panel Lista de campos para que los campos disponibles para la hoja de datos
estén en la parte superior. Desde la sección Campos disponibles para esta vista, arrastre los otros campos que
desee incluir en la hoja de datos. Cuando arrastra cada uno de los campos hasta la hoja de datos, Access dibuja
una barra de inserción para mostrar dónde se va a insertar el campo cuando suelte el botón del mouse.
Siga agregando campos al formulario principal o a la hoja de datos haciendo clic primero en el formulario
principal o en la hoja de datos para seleccionarlo y arrastrando, luego, el campo desde el panel Lista de campos.
La sección Campos disponibles en otras tablas del panel Lista de campos contiene tablas que no están
directamente relacionadas con la tabla o consulta en la que se basa el formulario o la hoja de datos
seleccionados. Si se han definido todas las relaciones válidas entre las tablas en la ventana Relaciones, es
probable que los campos de la sección Campos disponibles en otras tablas no sean selecciones válidas para el
formulario que se está creando. Si se arrastra un campo de esta sección hasta el formulario, Access muestra el
cuadro de diálogo Especificar relación. Es preciso especificar los campos que relacionen las dos tablas antes de
proceder. De hacerlo, el panel Lista de campos ya no se ordenará en secciones de acuerdo con las relaciones
predefinidas. Se recomienda hacer clic en el botón Cancelar de este cuadro de diálogo y volver a examinar las
relaciones entre las tablas. Para obtener información sobre relaciones, vea el artículo Crear, modificar o eliminar
una relación.
Volver al principio
Insertar una hoja de datos en un formulario existente mediante la vista Presentación
Si ya se han definido las relaciones entre las tablas de la base de datos, se puede agregar rápidamente una hoja
de datos a un formulario existente mediante la vista Presentación. Cuando se agrega un campo del lado "varios"
de una relación a un formulario basado en el lado "uno" de la relación, Access crea automáticamente una hoja de
datos para mostrar los registros relacionados.
Abra el formulario existente en la vista Presentación haciendo clic con el botón secundario del mouse en el
formulario en el panel de exploración y, a continuación, haciendo clic en Vista Presentación en el menú
contextual.
Si no ve el panel Lista de campos:
21. Presione ALT+F8.
O bien,
En la ficha Formato, en el grupo Controles, haga clic en Agregar campos existentes.
Observe que el panel Lista de campos divide las tablas en secciones: Campos disponibles para esta vista y, más
abajo, Campos disponibles en tablas relacionadas. En la parte inferior del panel Lista de campos, las tablas que
no están directamente relacionadas con la tabla principal se encuentran bajo Campos disponibles en otras
tablas.
En la sección Campos disponibles en tablas relacionadas, expanda la tabla que contiene el primer campo que
desee incluir en la hoja de datos y arrastre el campo hasta el formulario. Access crea una hoja de datos y le
agrega el campo.
Para agregar campos adicionales a la nueva hoja de datos, primero debe hacer clic en la hoja para seleccionarla.
Observe que Access reorganiza el panel Lista de campos para que los campos disponibles para la hoja de datos
estén en la parte superior. Desde la sección Campos disponibles para esta vista, arrastre los otros campos que
desee incluir en la hoja de datos. Cuando arrastra cada uno de los campos hasta la hoja de datos, Access dibuja
una barra de inserción para mostrar dónde se va a insertar el campo cuando suelte el botón del mouse.
Siga agregando campos al formulario principal o a la hoja de datos haciendo clic primero en el formulario
principal o en la hoja de datos para seleccionarlo y arrastrando, luego, el campo desde el panel Lista de campos.
La sección Campos disponibles en otras tablas del panel Lista de campos contiene tablas que no están
directamente relacionadas con la tabla o consulta en la que se basa el formulario seleccionado. Si se han
definido todas las relaciones válidas entre las tablas en la ventana Relaciones, es probable que los campos de la
sección Campos disponibles en otras tablas no sean selecciones válidas para el formulario que se está creando.
Si se arrastra un campo de esta sección hasta el formulario, Access muestra el cuadro de diálogo Especificar
relación. Es preciso especificar los campos que relacionen las dos tablas antes de proceder. De hacerlo, el panel
Lista de campos ya no se ordenará en secciones de acuerdo con las relaciones predefinidas. Se recomienda
hacer clic en el botón Cancelar de este cuadro de diálogo y volver a examinar las relaciones entre las tablas.
Para obtener información sobre relaciones, vea el artículo Crear, modificar o eliminar una relación.
Volver al principio
Insertar una hoja de datos en un formulario existente mediante la vista Diseño
Use este procedimiento para agregar una hoja de datos directamente basada en una tabla o consulta a un
formulario existente en la vista Diseño.
Abra el formulario en la vista Diseño haciendo clic con el botón secundario del mouse en el formulario en el panel
de exploración y, a continuación, haciendo clic en Vista Diseño.
En la ficha Diseño, en el grupo Controles, si está seleccionada la herramienta Utilizar Asistentes para controles,
haga clic en ella de modo que no esté seleccionada.
¿Por qué?
En la ficha Diseño, en el grupo Controles, haga clic en la herramienta Subformulario/Subinforme.
En la cuadrícula de diseño del formulario, haga clic en el lugar donde desee insertar la hoja de datos.
Para cambiar la posición y el tamaño del control de subformulario, arrastre los controladores situados en los
bordes y esquinas del control.
Para editar la etiqueta asociada del control de subformulario, haga clic en ella y, a continuación, haga doble clic
en ella para seleccionar su texto y luego escriba una nueva etiqueta. Si prefiere eliminar la etiqueta, haga clic en
ella y, a continuación, presione SUPRIMIR.
Si no se muestra la hoja de propiedades, presione F4.
Si no está seleccionado el control de subformulario, haga clic en él para seleccionarlo.
En la ficha Datos de la hoja de propiedades, haga clic en la lista desplegable Objeto origen y, a continuación,
haga clic en la tabla o consulta que desee mostrar en la hoja de datos. Por ejemplo, si desea most rar los datos
de la tabla denominada Pedidos, haga clic en Tabla.Pedidos.
Si ha definido correctamente las relaciones antes de iniciar este procedimiento, Access configurará
automáticamente las propiedades Vincular campos secundarios y Vincular campos principales con los valores
correctos que vinculen el formulario principal a la hoja de datos.
Las propiedades Vincular campos secundarios y Vincular campos principales están en blanco
Abra el formulario principal en la vista Diseño.
Haga clic en el control de subformulario para seleccionarlo.
Si no ve la hoja de propiedades, presione F4.
En la ficha Datos de la hoja de propiedades, haga clic en (...) junto al cuadro de la propiedad Vincular campos
secundarios.
Aparece el cuadro de diálogo Vinculador de campos de subformulario.
En las listas desplegables Campos principales y Campos secundarios, seleccione los campos a los que desee
vincular los formularios. Si no está seguro de los campos, haga clic en Sugerir para que Access determine los
campos de vinculación. Cuando termine, haga clic en Aceptar.
Si no ve el campo que desee usar para vincular los formularios, puede que tenga que editar el origen de registros
del formulario principal o secundario para asegurarse de que contiene el campo. Por ejemplo, si el formulario
está basado en una consulta, asegúrese de que el campo de vinculación está en los resultados de la consulta.
22. Guarde el formulario principal y cambie a la vista Formulario para comprobar que el formulario funciona según
previsto.
Guarde el formulario haciendo clic en Guardar en la Barra de herramientas de acceso rápido o presionando
CTRL+G.
Cambie a la vista Formulario (vista Formulario: ventana que muestra un formulario para mostrar o aceptar datos.
La vista Formulario es el medio principal para agregar y modificar datos a tablas. También se puede cambiar el
diseño de un formulario en esta vista.) y compruebe que la hoja de datos funciona según previsto.
Volver al principio
Obtener información sobre las diferencias entre un formulario dividido y un formulario que contiene una hoja de
datos
Un formulario que contiene una hoja de datos muestra datos de orígenes de datos diferentes (si bien suelen
estar relacionados). Por ejemplo, un formulario puede mostrar empleados y puede tener una hoja de datos que
muestra todas las tareas asignadas a cada empleado. La hoja de datos tiene otro origen de datos que el
formulario que lo contiene. En cambio, un formulario dividido tiene dos secciones (un formulario y una hoja de
datos), pero en ambas secciones se muestran los mismos datos. Las dos secciones están conectadas y ofrecen
a la vez dos vistas distintas de los datos.
Para obtener más información sobre cómo crear y trabajar con un formulario dividido, vea el artículo Crear un
formulario dividido.
Volver al principio
Vea también
Agregar un campo a un formulario o informe
Crear un formulario
Crear un formulario dividido
Crear un formulario que contiene un subformulario (formulario de uno a varios)
Crear, modificar o eliminar una relación
Guía de relaciones de tablas
Access > Consultas
Usar consultas para eliminar uno o varios registros de una base de datos
Mostrar todo
En este artículo se explica cómo eliminar datos de una base de datos de Microsoft Office Access 2007 mediante
consultas de actualización y de eliminación. Las consultas de actualización se usan para eliminar campos
individuales de los registros de una base de datos, mientras que las consultas de eliminación se usan para quitar
registros completos de una base de datos, inclusive el valor de clave que le otorga al registro un carácter único.
Cuando proceda, recuerde que Access también permite eliminar manualmente parte de registros o registros
completos de varias maneras.
Para obtener más información sobre cómo eliminar manualmente registros, vea el artículo Eliminar uno o varios
registros de una base de datos.
En este artículo
Obtener información sobre cómo usar las consultas para eliminar datos
Planear la eliminación
Evitar que el modo deshabilitado bloquee una consulta
Eliminar parte de registros (uno o varios campos)
Eliminar registros completos
Criterios de ejemplo para consultas de selección
Obtener información sobre cómo usar las consultas para eliminar datos
Se pueden usar dos tipos de consultas para eliminar datos de una base de datos de Access. La consulta elegida
depende del tipo de eliminación que se desee realizar.
Para eliminar campos individuales de los registros de una o varias tablas, se usa una consulta de actualización
que cambie los valores existentes a un valor nulo (es decir, no hay datos) o una cadena de longitud cero (un par
de comillas dobles sin espacio entre ellas).
23. Se usa una consulta de actualización para eliminar datos de campos individuales porque, de forma
predeterminada, las consultas de eliminación quitan filas completas. La eliminación de datos mediante una
consulta de actualización se compone de los siguientes pasos: se crea una consulta de selección asegurándose
de que devuelve sólo los datos que desee eliminar. A continuación, se convierte esa consulta en una consulta de
actualización, usando valores NULL o cadenas de longitud cero como valor de actualización. Por último, se
ejecuta la consulta para actualizar los datos existentes.
Para quitar registros completos (filas), se usa una consulta de eliminación.
De forma predeterminada, las consultas de eliminación quitan todos los datos de cada campo, junto con el valor
de clave que le otorga al registro un carácter único. Cuando se ejecuta la consulta, siempre se quita la fila
completa de la tabla. El proceso se compone de los siguientes pasos: se crea una consulta de selección,
asegurándose de que devuelve los datos que desea eliminar. A continuación, se convierte esa consulta en una
consulta de eliminación y se ejecuta para quitar los datos.
Cuando proceda, recuerde que si los registros que desea eliminar residen en el lado "uno" de una relación uno a
varios, va a cambiar primero una propiedad de la relación antes de ejecutar la consulta. En la sección
Preparativos para eliminar datos relacionados, más adelante en este artículo, se explica cómo llevar a cabo esa
tarea. Es preciso realizar esos cambios adicionales porque, de forma predeterminada, Access impide eliminar
datos del lado "uno" de una relación uno a varios.
Para obtener más información acerca del diseño de bases de datos y las relaciones de tablas, vea los artículos
Conceptos básicos del diseño de una base de datos y Crear, modificar o eliminar una relación.
Asimismo, recuerde que después de actualizar o eliminar parte de un registro o un registro completo, no se
pueden deshacer los cambios, por lo que se recomienda realizar siempre una copia de seguridad de los datos
antes de ejecutar una consulta de eliminación. Vea Realizar una copia de seguridad de la base de datos, más
adelante en este artículo, para obtener más información.
En los procedimientos descritos en las siguientes secciones se explica cómo crear consultas de actualización
que quiten datos de campos individuales, y cómo crear consultas de eliminación que quiten registros completos.
NOTA En general, las consultas de actualización y eliminación se usan para cambiar o quitar rápidamente
grandes cantidades de datos. Si desea quitar un número reducido de registros (es decir, cualquier cantidad que
sea fácil de eliminar manualmente), abra la tabla en la vista Hoja de datos, seleccione los campos o las filas que
desee eliminar y, a continuación, presione SUPRIMIR.
Para obtener más información sobre otras formas de eliminar datos, vea el artículo Eliminar uno o varios
registros de una base de datos.
Volver al principio
Planear la eliminación
La eliminación de registros mediante una consulta se compone de los siguientes pasos generales:
Planee la eliminación. Asegúrese de que tiene los permisos necesarios para eliminar los datos, que todos los
demás usuarios han cerrado todos los objetos que usen las tablas en cuestión y, a continuación, haga una copia
de seguridad de la base de datos.
Asegúrese de que la base de datos reside en una ubicación de confianza o que lleva una firma digital. Si no es el
caso, puede optar por confiar en la base de datos únicamente para la sesión actual. Recuerde que, de forma
predeterminada, Access bloquea todas las consultas de acción (consultas de eliminación, consultas de
actualización y consultas de creación de tabla) a menos que se confíe primero en la base de datos. Para obtener
información sobre cómo confiar en una base de datos, vea Evitar que el modo deshabilitado bloquee una
consulta, más adelante en este artículo.
Si desea eliminar datos de más de una tabla y esas tablas están relacionadas, habilite las opciones Integridad
referencial y Eliminar en cascada los registros relacionados para cada relación. De este modo, la consulta podrá
eliminar datos de las tablas en los lados "uno" y "varios" de la relación.
Cree una consulta de selección y, a continuación, agregue los criterios necesarios hasta que la consulta
devuelva el conjunto de registros correcto.
Si desea eliminar campos individuales de una tabla, convierta la consulta de selección en una consulta de
actualización, especifique NULL o una cadena de longitud cero ("") como criterios de actualización y, a
continuación, ejecute la consulta.
Si desea eliminar registros completos, convierta la consulta de selección en una consulta de eliminación y, a
continuación, ejecute la consulta.
Preparativos generales
Realice las siguientes tareas antes de eliminar parte de un registro o un registro completo de una base de datos:
Asegúrese de que la base de datos no es de sólo lectura. Para ello, en el Explorador de Windows, haga clic con
el botón secundario del mouse (ratón) en el archivo de la base de datos (archivo .accdb o .mdb) y, a
continuación, haga clic en Propiedades en el menú contextual. En el cuadro de diálogo Propiedades, asegúrese
de que está desactivada la casilla de verificación Sólo lectura.
Compruebe que dispone de los permisos necesarios para eliminar registros de la base de datos. Si no está
seguro, póngase en contacto con el administrador del sistema o el diseñador de la base de datos.
Compruebe si la eliminación no va a afectar negativamente a los demás usuarios de la base de datos.
Pida a todos los usuarios de la base de datos que cierren todos los formularios, tablas, consultas e informes que
usen los datos que desee eliminar. De este modo, ayuda a evitar infracciones de bloqueo.
SUGERENCIA Si hay un gran número de usuarios conectados a la base de datos, puede que tenga que cerrar
la base de datos y, a continuación, abrirla de nuevo en modo exclusivo. Para ello:
24. Haga clic en el botón Microsoft Office y, a continuación, haga clic en Abrir.
Busque la base de datos, selecciónela, haga clic en la flecha situada junto al botón Abrir y, a continuación, haga
clic en Abrir en modo exclusivo.
Cree una copia de seguridad de la base de datos antes de modificar o eliminar registros. Algunas operac iones de
eliminación se pueden invertir, pero si crea una copia de seguridad, se asegura de poder invertir siempre los
cambios.
Realizar una copia de seguridad de la base de datos
Haga clic en el Botón Microsoft Office , seleccione Administrar y, a continuación, haga clic en Administrar
esta base de datos.
En el cuadro de diálogo Guardar como, especifique un nombre y una ubicación para la copia de seguridad y, a
continuación, haga clic en Guardar.
Access cierra el archivo original, crea una copia de seguridad y, a continuación, vuelve a abrir el archivo original.
Para revertir a una copia de seguridad, cierre el archivo original y cambie su nombre de modo que se pueda usar
el nombre de la versión original para la copia de seguridad. Asigne el nombre de la versión original a la copia de
seguridad y, a continuación, abra la copia de seguridad con el nombre cambiado en Access.
Preparativos para eliminar datos relacionados
Si necesita eliminar datos de tablas relacionadas, recuerde esta regla: si los datos residen en el lado "varios" de
una relación uno a varios, podrá eliminarlos sin tener que cambiar la relación. Sin embargo, si los datos residen
en el lado "uno" de una relación uno a varios, es preciso modificar primero la relación. En caso cont rario, Access
bloqueará la eliminación.
El proceso de eliminación de datos relacionados se compone de los siguientes pasos:
Determine qué registros residen en el lado "uno" de la relación y cuáles residen en el lado "varios".
Si necesita eliminar registros del lado "uno" de la relación y los registros relacionados del lado "varios", debe
habilitar un conjunto de reglas denominado Integridad referencial y debe habilitar la eliminación en cascada. En
esta sección se explica la Integridad referencial y se indica cómo llevar a cabo ambas tareas.
Si necesita eliminar registros únicamente del lado "uno" de la relación, elimine primero esa relación y, a
continuación, elimine los datos.
O bien,
Si necesita eliminar datos únicamente del lado "varios" de la relación, puede crear y ejecutar una consulta de
eliminación sin tener que cambiar la relación.
En las siguientes secciones se explica cómo preparar los datos relacionados para la eliminación.
Determinar qué registros están en el lado "uno" de una relación y cuáles residen en el lado "varios"
En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en Relaciones.
Aparece la ficha Relaciones en la que se muestran todas las tablas de la base de datos así como las relaciones
entre cada tabla y todas las demás tablas. Cada relación aparece como una línea que conecta las tablas entre
los campos.
En la siguiente ilustración se muestra una relación típica. La mayoría de las relaciones de una base de datos, si
no todas, tienen un lado "uno" y un lado "varios". En el diagrama de relaciones se indica el lado "uno" con el
número 1 y el lado "varios" con el símbolo del infinito (∞).
En general, cuando se eliminan registros del lado "uno" de una relación, se eliminan asimismo todos los registros
relacionados del lado "varios" de la relación. Sin embargo, cuando se eliminan registros del lado "varios" de una
relación, normalmente no se eliminan registros del lado "uno".
Además, de forma predeterminada, Access aplica asimismo un conjunto de reglas denominado Integridad
referencial. Estas reglas garantizan que las claves externas de una base de datos contienen los valores
correctos. Una clave externa es una columna cuyos valores coinciden con los valores de la columna de clave
principal de otra tabla.
Obtener información sobre las reglas de integridad referencial