Biblioteca (no os riais de mi;-)

Hola,
Pues intento desarrollar una base de datos de la biblioteca personal que tengo en casa y he encontrado un problema. Tengo estas tablas:
-Libros
--LibroID
--Titulo
--(Más sin importancia)
-AutorLibro
(--RelacionID, ¿campo opcional?)
--LibroID
--AutorID
-Autor
--AutorID
--Nombre
Y las siguientes relaciones:
Libro.LibroID---AutorLibro.LibroID
AutorLibro.AutorID---Autor.AutorID
Esta configuración me permite tener un numero indeterminado de autores por libro, incluso libros sin autor. Al mostrarlos en formato formulario y subformulario se ven perfectamente los autores con su libro pero el problema viene cuando intento añadir un nuevo libro o un nuevo autor a un libro existente, el autor se crea en su tabla Autor (si es que antes no existía) pero no me crea las nuevas relaciones en la tabla AutorLibro. ¿Hay alguna forma de hacer esto? (He probado casi todas las opciones posibles de integridad y tipo de relacciónes así que no deben ir por ahí los tiros) ¿Debo hacerlo con código? ¿Alguna idea?
Hasta luego y muchas gracias por vuestras respuestas.

1 Respuesta

Respuesta
1
Comprueba lo siguiente, primero borra las relaciones que tengas entre estas tres tablas:
- Tabla autorlibro:
Libroid --> numérico
Autorid --> numérico
- Tabla autor:
Autorid --> autonumérico con clave principal
nombre --> texto
- Tabla libros:
Libroid --> autonumérico con clave principal
titulo --> texto
Ahora crea las relaciones de
autor.autorid hasta autorlibro.autorid
Libros. Libroid hasta autorlibro. Libroid
Exige para ambas integridad referencial y actualizar en cascada.
Luego ves al asistente para formularios y crea el formulario basado en estas tres tablas, cuando te pregunte agrupamiento le dices que por libro.
Te saldrán campos, en el subformulario, que puedes poner invisibles (propiedad visible = false) en modo diseño ves al subformulario para ello.
Un saludo. Si no te sale avísame.
Muchas gracias.
Mira que había probado miles de combinaciones de integridad referencial pero no había dado con esa, la verdad es que la integridad referencial no es lo más intuitivo de Access.
De nuevo, muchas gracias, me has ahorrado muchas más horas de pruebas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas