Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Acces: consulta que filtre la disponibilidad de un producto

Estas en el tema de Acces: consulta que filtre la disponibilidad de un producto en el foro de Bases de Datos General en Foros del Web. Tengo un problemilla, bueno..para mi un verdadero problema ya que no consigo resolverlo. El tema es el siguiente: Basado en el alquiler de maquinaria según ...
  #1 (permalink)  
Antiguo 10/09/2008, 02:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Acces: consulta que filtre la disponibilidad de un producto

Tengo un problemilla, bueno..para mi un verdadero problema ya que no consigo resolverlo.

El tema es el siguiente:

Basado en el alquiler de maquinaria según fechas seleccionadas (fecha de recogida y fecha de entrega)

Necesito generar una consulta a una base de datos acces que me informe de los productos disponibles según las fechas seleccionadas

En principio tengo tres tablas (bueno con 2 haciamos)

tabla1:
Id_producto
id_tipo_producto
producto

tabla2:
id_tipo_producto
tipo_producto

tabla3: (tabla donde guardaremos los dias en que alquilo cada producto)
id_producto
fecha_recogida
fecha_entrega

bien............la consulta me deberia recuperar todos aquellos productos que no han sido alquilados en las fechas seleccionadas.

Pero el verdadero problema para mi es:
En el caso de que un producto lo tengamos alquilado dos o más veces en diferentes fechas.

me explicare mejor:
tenemos el producto 1
lo alquilamos en:
fecha_recogida 10/9/2008
fecha_entrega 15/9/2008

y tb

fecha_recogida 16/9/2008
fecha de entrega 20/9/2008

Ahora llega el usuario y pide alquilar una maquina entre los dias 17/9/2008 y 26/9/2008

es aqui que la consulta no deberia mostrarme el producto 1.

Bueno..espero haberme explicado.

Gracias de antemano
  #2 (permalink)  
Antiguo 12/09/2008, 04:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Acces: consulta que filtre la disponibilidad de un producto

Por favor, alguna sugerencia......
  #3 (permalink)  
Antiguo 12/09/2008, 04:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Acces: consulta que filtre la disponibilidad de un producto

no uso access pero te doy como se haría la select:

Código:
select 	id_producto
from 	tabla1 t1
MINUS O EXCEPT -- Dependiendo de la BD
select	id_producto
        tabla3
where 	fecha_recogida BETWEEN fecha_inicio_que_quieres_alquilar AND fecha_fin_que_quieres_alquilar 
		AND fecha_entrega BETWEEN fecha_inicio_que_quieres_alquilar AND fecha_fin_que_quieres_alquilar
Con esto tienes todos los id_producto que no se utilizan en las fechas que quieres alquilar, no se si te funcionará en access, pero igual la idea te sirve.

Salu2

Última edición por seyko; 12/09/2008 a las 05:22
  #4 (permalink)  
Antiguo 15/09/2008, 01:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Acces: consulta que filtre la disponibilidad de un producto

creo que en Acces no se puede utilizar ni EXCEPT NI MINUS

De todas formas creo que esto no me servira..porque sino entiendo mal, lo que me dices es que:

Selecccionemos las ids de la tabla 1 excepto aquellas que no tengan en la tabla 3 las fechas entre aquellas que hemos seleccionado.

Bien....fijate que si en la tabla 3 tengo 2 registros para el mismo producto1 y uno cumple esa condicion y otro no...me devolvera tb el prodcuto1 y eso es lo que no queremos

Me explicare....
En la tabla3 tenemos
Producto1 recogida 10/9/2008 entrega 15/9/2008
Prodcuto1 recogida 20/9/2008 entrega 23/9/2008

Ahora en el selector de fechas seleccionamos 10/9/2008 y 14/9/2008

Bien....creo que esa consulta tb me devolvera el producto1 ya que un registro cumple la condicion de tu codigo pero el otro no.

MI intención es hacer una sentencia SQL que no diga:

"seleccionar todos aquellos ids de tabla1 que no esten en tabla3 o que las fechas no esten entre las seleccionadas y en el caso que esten....esa id queda descartada

no se si me explique

gracias
  #5 (permalink)  
Antiguo 15/09/2008, 02:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Acces: consulta que filtre la disponibilidad de un producto

creo que en parte tenias razón

hice esto...que te parece?

SELECT a.*, b.* FROM PRODUCTOS as a, TIPO_PRODUCTO as b where a.ID_TIPO_PRODUCTO=MMColParam AND a.ID_TIPO_PRODUCTO=b.ID_TIPO_PRODUCTO AND a.ID_PRODUCTO NOT IN (select c.ID_PRODUCTO
FROM DISPONIBILIDAD as c
WHERE c.FECHA_RECOGIDA BETWEEN #"+fecha1+"# AND #"+fecha2+"# OR c.FECHA_ENTREGA BETWEEN #"+fecha1+"# AND #"+fecha2+"#)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.