Relaciones en access

Hola buen día, estoy en la creación de una BD y me ha surgido una duda, ¿se puede crear una macro que elimine y cree automáticamente la relación entre dos tablas?, el motivo de mi pregunta es por que tengo unos datos en excel, los importo hacia la BD y le creo la relación, hasta el momento no hay problema, pero cuando cambio o actualizo datos en el excel, me toca hacer manualmente todo el procedimiento anterior, cree una macro que elimine la tabla importada y me importe los datos desde excel, pero al ejecutarla, no se deja borrar la tabla por que esta relacionada, he buscado por todos lados como sobreescribir la tabla importada cuando se actualice sin necesidad de eliminarla, pero no he encontrado respuesta alguna, la única solución que se me ocurrió fue esta, ¿esto se puede realizar?, agradezco tu gran ayuda sobre este tema.

1 respuesta

Respuesta
1
Lo primero debes saber que toda relación de tablas se base en una relación referencia, entre una tabla(s) principal(es) y la otra(s) que la alimentan.
Lo primero para poder romper o eliminar esta relación referencial es ir desde atrás, es decir, desde la tabla inferior hasta la superior o principal.
Ejemplo:
clientes                     Comuna                 region
------------                  -------------           --------------
id_cliente                  id_comuna           id_region
id_comuna                id_region             descripcion
Nombre descripción ...
... ...
Si tienes esta relación entre cliente-->Comuna y Comuna-->región
Debes empezar por las tablas región, comuna y finalmente cliente.
Me explico bien.
Y tu consulta se puede realizar vía macros, por que la relación es implícita y no se destruye solo se borra la data o registros relacionados.
Cuando actualizas las tablas se van creando las realciones en forma automática, siempre que se coherente.
Hola buen día, me surgen las siguientes dudas, en mi base existe hasta el momento una sola tabla de nombre xx, donde se encuentra un registro único (ej cod 1 para un producto, cod 2 para otro producto y así sucesivamente) y la tabla que estoy importando de nombre xxy desde excel posee ese registro único pero se repite dependiendo del color del producto ( ej cod 1 color cedro, cod 1 color negro, cod 1 color blanco, ej cod 2 color cedro, cod 2 color negro, ¿cod 2 color blanco etc) como hago para asignarles un id tanto a la tabla xx como a la tabla xxy?, ¿Después de crear el id de la tabla xxy debe ser el mismo de la tabla xx o viceversa?, ¿Si le creo ese id no habría necesidad de crear relación?, perdona que te pregunte tanto pero soy novato en access
Si entiendo bien me corriges si estoy equivocado.
Deberías usar.
idCidgoProducto   ===> iddel producto                                  "clave primaria"
IdProducto            ===> codigo del tipo de producto (Tabla) "claves secundarias"
idColorProducto    ===> codigo del color asignado    (Tabla) "claves secundarias"
idmarcaProducto   ===> Codigo de la marca              (Tabla) "claves secundarias"
Descripcion            ===> Descripcion del producto
Precio                    ===> Precio del producto
Peso                      ===> Peso del producto
Envase                  ===> Tipo de envase
etc.....
.
...
...
...
De esta forma se corrige tu error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas