Access - Enlazar varias tablas

   
Vista:

Enlazar varias tablas

Publicado por Xavih (5 intervenciones) el 24/02/2015 08:45:33
Buenos días. se que para los que lo dominas es fácil pero yo me estoy volviendo loco.
Expongo lo que necesito.
Tengo una tabla clientes
Tabla sedes de los clientes ( cada cliente puede tener más de una sede)
Tabla subcontratas de los clientes
Tabla trabajadores de los clientes
Tabla ficheros de los clientes
Como puedo enlazar todo esto y crear un formulario por pestañas. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto

Enlazar varias tablas

Publicado por Norberto (432 intervenciones) el 24/02/2015 12:27:56
Hola.

Lo primero que debes de hacer es que cada tabla tenga un campo autonumério que sea la clave principal de la siguiente manera:

Tabla Clientes, IdCliente
Tabla Sedes, IdSede
Tabla Subcontratas, IdSubcontrata...

Luego cada tabla que dependa de otra (veo que todas lo hacen de la tabla cliente) llevará un campo con el mismo nombre que la clave de la tabla independiente pero esta vez de tipo numérico entero largo. Es decir:

La tabla Sedes llevará un campo IdCliente para saber a qué cliente corresponde una sede dada.
La tabla Subcontratas llevará, también, un campo IdCliente para lo mismo
etc.

A continuación abres la ventana de relaciones y añades todas las tablas. Para vincularlas debes de arrastrar el campo IdCliente de la tabla secundaria (Sedes, Subcontratas...) y soltarlo sobre el campo IdCliente de la tabla Clientes. Se abrirá el cuadro de diálogo de definición de la relación y activas la opción de exigir integridad referencial.

En cuanto a Actualizar/Eliminar en cascada tú mismo. La primera de ellas no tiene importancia porque el IdCliente principal es autonumérico y no varía desde que se le asigna un valor. Si activas la segunda podrás eliminar un cliente y en cascada se eliminarán sus sedes, subcontratas, etc. Si no la activas deberás hacer las eliminaciones previamente.

El formulario.

Crea un Subformulario (formulario en modo tabla) para cada una de las tablas secundarias (no hace falta que incluyas los campos Id) y un formulario principal para la tabla clientes. En éste pones un control de pestañas y en la primera de ellas los campos de esta tabla. En la segunda pestaña añades el subformulario sedes. Si tienes activado el asistente te propondrá la relación entre ambos, que será el campo IdCliente. Haces los mismo para cada una de las otras tablas.

Y eso es todo, más o menos.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Enlazar varias tablas

Publicado por xavih (5 intervenciones) el 24/02/2015 14:27:35
Muchas gracias, me has sido de gran ayuda. Y ahora rizando el rizo.
Cada cliente tiene sus ficheros, a los cuales solo algunos de sus empleados o subcontratas tienen acceso. ¿Como puedo asignar ficheros concretos a usuarios concretos?
De nuevo mil gracias, ya que con lo de antes me has solventado muchos dolores de cabeza
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto

Enlazar varias tablas

Publicado por Norberto (432 intervenciones) el 03/03/2015 10:16:18
Hola.

¿A qué te refieres con lo de ficheros?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enlazar varias tablas

Publicado por xavih (5 intervenciones) el 24/03/2015 11:24:04
Primero perdona por tardar tanto en responder y darte las gracias por tu interés.
A ficheros me refiero a unos documentos únicos por cliente pero que pueden tener el mismo nombre en varios clientes.
Me explico: Son ficheros de protección de datos. Cada fichero responde a un identificador único de 10 cifras (ese sería su id único) pero puede tener el mismo nombre en varios clientes. Ejemplo (clientes y proveedores identificador 0000000000)
En cuanto a la respuesta anterior, me sirve para enlazar las subcontratas con el cliente pero¿ hay alguna manera de que al cargar el nombre o el nif de la subcontrata me rellene automáticamente el resto de datos del formulario?
Por lo que veo en la tabla se repiten las subcontratas cambiando solo el id y yo lo que necesito es una tabla subcontratas de la que pueda arrastrar los datos a la de clientes.
Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar