Gestión de stock en access 2007

Se trata de crear una base de datos para una empresa de alquiler de vehículos. Es la primera vez que trabajo en BD y el problema esta en realizar una consulta para ver los vehículos disponibles. He hecho lo siguiente:
He creado las siguientes tablas:
Flota
-CodVehiculo(texto)
-Devuelto(Si/No)
-Clase(texto)
-...
Alquileres
-IdAlquiler(Autonumérico)
-Cliente(texto)
-Vehículo(texto)
-Devuelto(Si/No)
-Fecha alquiler
-Fecha devolución
-...
Clientes
-CodCliente(texto)
-Nombre...(texto)
Clase
-Clase(texto)
-Precio por día(moneda)

Hago las siguientes relaciones:
Alquileres. Cliente->Cliente. CodCliente
Alquileres. Vehículo->Flota. CodVehiculo
Alquileres. Devuelto->Flota. Devuelto.
Mi idea es hacer una consulta que filtre los vehículos según Devuelto (si están devueltos están disponibles) pero es necesario inicializar los vehículos como devueltos, porque sino se han alquilado antes no aparecen en la consulta. La verdad es que llevo rato trasteando y no encuentro la solución, he mirado otras soluciones a problemas de stock pero no se como aplicarlos a este caso. Puede que la estructura de la BD no sea demasiado buena.
Adicionalmente debe calcularse el precio del alquiler como (Fecha de devolución-Fecha de alquiler)*Precio por día, pero no se si es correcto hacerlo en una consulta o debe mostrarse en el formulario de alquiler...
Como ves, voy bastante desorientado. Cualquier tipo de ayuda será más que agradecido

1 respuesta

Respuesta
1

El tema principal, la consulta que filtre según Devuelto, lo estoy estudiando...

En cuanto a la segunda parte, puedes hacerlo en los dos sitios. En una consulta luego lo puedes usar para otros formularios o informes, que bases en esa consulta. En el formulario alquiler, no te va a guardar los datos, sólo los muestra en pantalla para cada registro. Mi consejo, hazlo en los dos sitios.

Se me ha ocurrido una idea:

1º Elimina la relación entre alquileres.devuelto y flota.devuelto

2º Creas una consulta, utilizando el asistente de búsqueda de no coincidentes, eligiendo en primer lugar la tabla Flota y en segundo lugar la tabla Alquileres. Eliges que te muestre todos los datos de la tabla Flota ( o los que te interesen). El resultado de esta consulta son los vehículos que no han sido alquilados. Puedes guardarla, por ejemplo como Vehículos No Alquilados.

3º Creas una consulta sencilla con las tablas flota y alquileres. Coges todos los campos de Flota (o los mismos que seleccionaste en la otra consulta, si no son todos) y los campos Fecha Alquiler y Devuelto de Alquileres. En criterio del campo Devuelto le pones: Verdadero, y desmarcas la opción de que se muestre en la consulta. Para acabar, conviertes la consulta a consulta de totales, y en el campo fecha alquiler, en la fila total, le pones último. Esta consulta te da los vehículos alquilados que han sido devueltos. Puedes guardarla, por ejemplo como Vehículos Devueltos.

4º Creas una consulta nueva en Vista Diseño, vas a la vista SQL y copias la SQL de la consulta del punto 2, le quitas el punto y coma, en la siguiente linea escribes UNION ALL, y pegas la SQL de la consulta del punto 3. Guardas, y ya tienes en una consulta todos los vehículos disponibles.

Estoy muy agradecido. Con esto se ha solucionado el problema perfectamente. Las instrucciones han sido muy claras y fáciles de seguir.

Muchas gracias por la ayuda prestada y buenas fiestas!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas