Imprimir página | Cerrar ventana

Relaciones Tablas

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=87014
Fecha de impresión: 26/Marzo/2026 a las 17:27


Tema: Relaciones Tablas
Publicado por: jjat1982
Asunto: Relaciones Tablas
Fecha de publicación: 20/Noviembre/2024 a las 08:01
Buenos días, ando un poco perdido. Tengo Una tabla principal de registro de averias. Por otro lado en esta tabla introduzco el cliente de tabla clientes y cada cliente tiene varios equipos. Cada equipo tiene varios recambios y a la vez también puede tener varias averias predefinidas pero no sé muy bien como relacionar todo ya que si relaciono  el equipo con los recambios no sé hacerlo con las averías tambien. Para ello he creado las tablas de Equipos, Averías, Clientes, Recambios y la principal donde meto los registros de todas las averias que es RegAverias. Alguna ayuda? muchas gracias

-------------
Non gogoa, han zangoa



Respuestas:
Publicado por: Mihura
Fecha de publicación: 20/Noviembre/2024 a las 08:51
Un recambio ... puede ser de varios equipos?

Una avería predefinida .... puede afectar a varios equipos?




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: jjat1982
Fecha de publicación: 20/Noviembre/2024 a las 09:03
Publicado originalmente por Mihura Mihura escribió:

Un recambio ... puede ser de varios equipos?

Una avería predefinida .... puede afectar a varios equipos?



Buenos días, Un equipo puede tener varios recambios y cada equipo tiene sus averías predefinidas que en algunos casos pueden ser similares.

Gracias mil


-------------
Non gogoa, han zangoa


Publicado por: jjat1982
Fecha de publicación: 20/Noviembre/2024 a las 09:06
Publicado originalmente por jjat1982 jjat1982 escribió:

Publicado originalmente por Mihura Mihura escribió:

Un recambio ... puede ser de varios equipos?

Una avería predefinida .... puede afectar a varios equipos?



Buenos días, Un equipo puede tener varios recambios y cada equipo tiene sus averías predefinidas que en algunos casos pueden ser similares.

Gracias mil

Igualmente si es muy complicado puede ser una relación de cada equipo tenga varias averias predefinidas y cada equipo tenga varios recambios que es lo que estaba intentando hacer. No importa si hay alguna averia que se duplique  o no creo que afecte gravemente


-------------
Non gogoa, han zangoa


Publicado por: Mihura
Fecha de publicación: 20/Noviembre/2024 a las 09:24
Yo me plantearía:

- Clientes
- Equipos, relacionada con Clientes (un cliente - varios equipos)
- Averias predefinidas
- Recambios
- Equipos_Averias, relaciona cada equipo con las posibles averías que pueda tener y viceversa, una avería con todos los equipos a los que pueda afectar (varios a varios)
- Equipos_Recambios, relaciona cada equipo con sus posibles recambios y viceversa (varios a varios)
- AveriasReales (Id de avería), apuntará a Equipos y desde esta llegas a Clientes
- AveríasReales_Recambios, relacionada con averias reales por IdAveria



-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: jjat1982
Fecha de publicación: 20/Noviembre/2024 a las 10:05
Publicado originalmente por Mihura Mihura escribió:

Yo me plantearía:

- Clientes
- Equipos, relacionada con Clientes (un cliente - varios equipos)
- Averias predefinidas
- Recambios
- Equipos_Averias, relaciona cada equipo con las posibles averías que pueda tener y viceversa, una avería con todos los equipos a los que pueda afectar (varios a varios)
- Equipos_Recambios, relaciona cada equipo con sus posibles recambios y viceversa (varios a varios)
- AveriasReales (Id de avería), apuntará a Equipos y desde esta llegas a Clientes
- AveríasReales_Recambios, relacionada con averias reales por IdAveria


Muchas gracias de antemano. Ya me he puesto a ello a ver. Cuando comentas Que AveriaReales (Id Averia) apuntará a equipos, te refieres a la tabla de averias predefinidas o a la tabla principal que tengo de registro de averías donde aparecerá todo?


-------------
Non gogoa, han zangoa


Publicado por: Mihura
Fecha de publicación: 20/Noviembre/2024 a las 10:57
Al crear una avería real, le tendrás que indicar a que equipo pertenece, una vez hecho esto:
- con la tabla Equipos sabes el cliente
- con la tabla Equipos_averías sabes que averías le puedes asignar y ésta figurará en la tabla averías reales
- con la tabla Equipos_recambios sabes que recambios le puedes asignar y éstos figurarán en AveriasReales_recambios
- ...




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: jjat1982
Fecha de publicación: 20/Noviembre/2024 a las 11:18
oK GRACIAS porque me estoy liando cosa mala jeje. Hasta ahora tenía:

Tabla Clientes (Id_Cliente y Nombre_Cliente)
Tabla Equipos_Clientes (Id_Equipo_Cliente, Nombre_Equipo_Cliente, Id_Cliente)
Tabla Recambios_Equipo (Id_Recambio_Equipo, Nombre_Recambio_Equipo, Coste_PVP_Recambio_Equipo, Id_Equipo)
Tabla Averías Predefinidas (Id_Averia_Equipo, Nombre_Averia_Equipo, Id_Equipo)

Luego tengo la tabla principal donde inserto los Registros de las averias por quipo y en la cual tendría que indicar el cliente, a su vez elegir el equipo de ese cliente, la avería predefinida de ese equipo y el recambio o recambios si es mas de uno usados en ese registro de averia.

No sé quizás es pedirme demasiado porque lo creia más facil pero estoy teniendo muchos problemas.

Muchisimas gracias por la paciencia y la ayuda.



-------------
Non gogoa, han zangoa


Publicado por: jjat1982
Fecha de publicación: 20/Noviembre/2024 a las 11:19
Publicado originalmente por Mihura Mihura escribió:

Al crear una avería real, le tendrás que indicar a que equipo pertenece, una vez hecho esto:
- con la tabla Equipos sabes el cliente
- con la tabla Equipos_averías sabes que averías le puedes asignar y ésta figurará en la tabla averías reales
- con la tabla Equipos_recambios sabes que recambios le puedes asignar y éstos figurarán en AveriasReales_recambios
- ...



oK GRACIAS porque me estoy liando cosa mala jeje. Hasta ahora tenía:

Tabla Clientes (Id_Cliente y Nombre_Cliente)
Tabla Equipos_Clientes (Id_Equipo_Cliente, Nombre_Equipo_Cliente, Id_Cliente)
Tabla Recambios_Equipo (Id_Recambio_Equipo, Nombre_Recambio_Equipo, Coste_PVP_Recambio_Equipo, Id_Equipo)
Tabla Averías Predefinidas (Id_Averia_Equipo, Nombre_Averia_Equipo, Id_Equipo)

Luego tengo la tabla principal donde inserto los Registros de las averias por quipo y en la cual tendría que indicar el cliente, a su vez elegir el equipo de ese cliente, la avería predefinida de ese equipo y el recambio o recambios si es mas de uno usados en ese registro de averia.

No sé quizás es pedirme demasiado porque lo creia más facil pero estoy teniendo muchos problemas.

Muchisimas gracias por la paciencia y la ayuda.


-------------
Non gogoa, han zangoa


Publicado por: jjat1982
Fecha de publicación: 21/Noviembre/2024 a las 08:36
Buenos días, he estado realizando varias pruebas de relaciones pero no he solucionado nada. La relación de varios a varios sé que hay que crear otra tabla intermedia con las dos claves (no sé si hay que hacerlas principales) y me imagino igualmente que esa tabla hay que rellenarla manualmente. Gracias

-------------
Non gogoa, han zangoa


Publicado por: mounir
Fecha de publicación: 21/Noviembre/2024 a las 14:18
Hola!

Aquí te dejo enlaces de videotutoriales de Access


https://www.pildorasinformaticas.es/course/curso-access-2010-basico/curriculum/" rel="nofollow - Ofimática Básica .

https://www.pildorasinformaticas.es/course/access-2010-avanzado/" rel="nofollow - Ofimática Avanzada

-------------
Un Saludo.


Publicado por: jjat1982
Fecha de publicación: 25/Noviembre/2024 a las 06:45
Publicado originalmente por Mihura Mihura escribió:

Yo me plantearía:

- Clientes
- Equipos, relacionada con Clientes (un cliente - varios equipos)
- Averias predefinidas
- Recambios
- Equipos_Averias, relaciona cada equipo con las posibles averías que pueda tener y viceversa, una avería con todos los equipos a los que pueda afectar (varios a varios)
- Equipos_Recambios, relaciona cada equipo con sus posibles recambios y viceversa (varios a varios)
- AveriasReales (Id de avería), apuntará a Equipos y desde esta llegas a Clientes
- AveríasReales_Recambios, relacionada con averias reales por IdAveria


Lo he intentado hacer de esta manera pero no me sale correctamente. Relaciono clientes con equipos (varios a varios en este caso). De ahi relaciono Equipos con tabla de averias_predefinidas (varios a varios) y a su vez relaciono equipos con recambios (uno a varios) pero estas dos relaciones a la vez no me funciona. Gracias


-------------
Non gogoa, han zangoa


Publicado por: Mihura
Fecha de publicación: 25/Noviembre/2024 a las 08:09
Voy a aclarar que quiero decir con el uno/varios-varios.

- uno a varios, significa que un elemento de una tabla (p.ej. un cliente) puede tener relacionados varios elementos de la otra (p.ej. equipos), pero los elementos de esta segunda tabla SOLO están relacionados con uno de la primera.
El ejemplo es claro, un cliente puede tener varios equipos, pero un equipo solo pertenece a un cliente.
En este caso en la segunda tabla se pone el id de cliente al que pertenece el equipo

- varios a varios es cuando varios elementos de la primera tabla pueden estar relacionados con varios de la segunda y viceversa.
Por ejemplo: todos los equipos pueden tener varias averías (avería tipo 1, avería tipo 2 ...) y hay tipos de averías que pueden estar relacionadas con más de un equipo ("NO ARRANCA").
En este caso se crea una tabla que relaciona ambas y que consta de los siguientes campos:
    IdPropio, IdPrimeraTabla, IdSegundaTabla

No permitiéndose repetidos en la dupla IdPrimeraTabla, IdSegundaTabla.

Esto que estoy comentado no es una cuestión de Access, ni de ningún otro lenguaje de programación, ... es la base de diseño de tablas común a todos los entornos de programación y tipos de BD.

Vuelve a 'remirar' tu diseño Wink.







-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: jjat1982
Fecha de publicación: 26/Noviembre/2024 a las 06:31
Publicado originalmente por Mihura Mihura escribió:

Voy a aclarar que quiero decir con el uno/varios-varios.

- uno a varios, significa que un elemento de una tabla (p.ej. un cliente) puede tener relacionados varios elementos de la otra (p.ej. equipos), pero los elementos de esta segunda tabla SOLO están relacionados con uno de la primera.
El ejemplo es claro, un cliente puede tener varios equipos, pero un equipo solo pertenece a un cliente.
En este caso en la segunda tabla se pone el id de cliente al que pertenece el equipo

- varios a varios es cuando varios elementos de la primera tabla pueden estar relacionados con varios de la segunda y viceversa.
Por ejemplo: todos los equipos pueden tener varias averías (avería tipo 1, avería tipo 2 ...) y hay tipos de averías que pueden estar relacionadas con más de un equipo ("NO ARRANCA").
En este caso se crea una tabla que relaciona ambas y que consta de los siguientes campos:
    IdPropio, IdPrimeraTabla, IdSegundaTabla

No permitiéndose repetidos en la dupla IdPrimeraTabla, IdSegundaTabla.

Esto que estoy comentado no es una cuestión de Access, ni de ningún otro lenguaje de programación, ... es la base de diseño de tablas común a todos los entornos de programación y tipos de BD.

Vuelve a 'remirar' tu diseño Wink.






Buenos días gracias por la aclaración. En principio las relaciones las tengo mas o menos claras en la teoría pero en la práctica es cuando se complica.

Ahora tengo un formulario para cumplimentar en una relación de varios a varios (varios clientes pueden tener varios equipos y viceversa) pero cuando creo el form clientes y subformulario equipos no consigo elegir o introducir registros similares. Imagino que no es la forma correcta de introducir equipos nuevos para cada cliente o elegir alguno ya creado.

Gracias


-------------
Non gogoa, han zangoa


Publicado por: Mihura
Fecha de publicación: 26/Noviembre/2024 a las 10:46
¿Un equipo puede pertenecer a más de un cliente? ... no me cuadra eso.





-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: jjat1982
Fecha de publicación: 26/Noviembre/2024 a las 11:03
Un equipo predefinido puede estar en mas de un cliente. Por ejemplo, tengo una validadora modelo 1200 que usan dos clientes en concreto.

Creo que igualmente lo tengo mas o menos atado si no me he equivocado. 

Estoy ahora intentando filtrar Equipos por cliente en un formulario usando SQL con una lista desplegable pero ando atascado.

Gracias


-------------
Non gogoa, han zangoa


Publicado por: jjat1982
Fecha de publicación: 27/Noviembre/2024 a las 09:26
Publicado originalmente por Mihura Mihura escribió:

¿Un equipo puede pertenecer a más de un cliente? ... no me cuadra eso.




Buenos días, ya he podido resolverlo. Muchisimas gracias


-------------
Non gogoa, han zangoa



Imprimir página | Cerrar ventana