
Ayuda con la creación de una consulta muy especifica
Publicado por Celia (2 intervenciones) el 26/06/2018 11:55:29
Buenos días a todos,
después de mucho buscar en la red, me decido a escribir en un foro ya que la ayuda que necesito es tan especifica que no consigo encontrar solución por ningún lado.
Estoy creando un proyecto en visual studio sobre una biblioteca, En este proyecto utilizo Access.
De momento lo que es con el código de vb no tengo problema. El problema lo tengo en la creación de una consulta desde access.
Tengo tres tablas
Usuarios (Clave principal numUsuario)
Libros (Clave principal ISBN)
Prestamos (Clave principal numPrestamo)
Necesito una consulta en la cual aparezcan los libros que están disponibles para prestamos, esos son aquellos que nunca se han prestado y aquellos que siendo prestados ya hayan sido devueltos.
De primeras parece que la consulta funciona. El problema viene cuando quiero prestar un libro que ha sido devuelto.
Tal y como estoy creando la consulta de libros disponibles me busca aquellos libros que tienen fechaDevolución (si NO hay fecha de devolución se entiende que el libro está en prestamo) pero en cuanto un libro ya ha sido devuelto una vez, ya existe una fecha de devolución asociada a ese libro y entiende que está disponible.
En la consulta tendría que filtrar de algún modo que aunque un libro tenga fecha de devolución (por haber sido prestado y devuelto con anterioridad), pero en ese momento solo tiene fechadeInicioPrestamo (por haber sido prestado de nuevo) pues que ese libro no figure en la lista de librosDisponibles.
No se si me he explicado con claridad.
Adjunto una foto del diseño de la consulta y la select de dicha consulta que tengo actualmente por si aclara más lo que digo :
Muchas gracias de antemano por la ayuda!!

después de mucho buscar en la red, me decido a escribir en un foro ya que la ayuda que necesito es tan especifica que no consigo encontrar solución por ningún lado.
Estoy creando un proyecto en visual studio sobre una biblioteca, En este proyecto utilizo Access.
De momento lo que es con el código de vb no tengo problema. El problema lo tengo en la creación de una consulta desde access.
Tengo tres tablas
Usuarios (Clave principal numUsuario)
Libros (Clave principal ISBN)
Prestamos (Clave principal numPrestamo)
Necesito una consulta en la cual aparezcan los libros que están disponibles para prestamos, esos son aquellos que nunca se han prestado y aquellos que siendo prestados ya hayan sido devueltos.
De primeras parece que la consulta funciona. El problema viene cuando quiero prestar un libro que ha sido devuelto.
Tal y como estoy creando la consulta de libros disponibles me busca aquellos libros que tienen fechaDevolución (si NO hay fecha de devolución se entiende que el libro está en prestamo) pero en cuanto un libro ya ha sido devuelto una vez, ya existe una fecha de devolución asociada a ese libro y entiende que está disponible.
En la consulta tendría que filtrar de algún modo que aunque un libro tenga fecha de devolución (por haber sido prestado y devuelto con anterioridad), pero en ese momento solo tiene fechadeInicioPrestamo (por haber sido prestado de nuevo) pues que ese libro no figure en la lista de librosDisponibles.
No se si me he explicado con claridad.
Adjunto una foto del diseño de la consulta y la select de dicha consulta que tengo actualmente por si aclara más lo que digo :
1
2
3
SELECT [Tabla Libros].Autor, [Tabla Libros].Titulo, [Tabla Libros].Genero, [Tabla Libros].ISBN, [Tabla Prestamos].Fecha_Devolucion
FROM [Tabla Libros] LEFT JOIN [Tabla Prestamos] ON [Tabla Libros].[ISBN] = [Tabla Prestamos].[ISBN]
WHERE ((([Tabla Prestamos].ISBN) Is Null)) OR ((Not ([Tabla Prestamos].Fecha_Devolucion) Is Null));
Muchas gracias de antemano por la ayuda!!

Valora esta pregunta


0