Miércoles 29 de enero

Hola, realizo un programa en visual basic que emite albaranes de alquiler. El problema, el siguiente;
Si selecciono una FECHA para que me muestre todos los albaranes cuya fecha de inicio de alquiler sea >= a la FECH A que yo selecciono, me muestra también fechas menores.
He intentado poner directamente:... Donde fecha_inicio >= FECHA, pero no funciona.
La única solución que yo veo es hacerlo de la siguiente forma:
...donde año(F_INICIO) > año(FECHA) OR
año(F_INICIO) = año(FECHA) and mes(F_INICIO) = mes (FECHA) and dia(F_INICIO) >= dia(FECHA) OR
Año(F_INICIO) = año(FECHA) and mes(F_INICIO) > mes(FECHA)
Pero parece que el dataenvironment tiene un problema.. O yo que no se usarlo.. Cuando introduzco "OR"..
Todo esto pasado a sql quedaría así,
sSql = "SELECT *, ALQUILER.N_ORDEN, ALQUILER.N_DE_SERIE, ALMACEN.MODELO, ALMACEN.`Nº_DE_SERIE`
FROM ALQUILER, IMPORTES_ALQUILERES, CLIENTES, ALMACEN, PRECIOS, COMPONENTES
WHERE ALQUILER.N_ORDEN = IMPORTES_ALQUILERES.N_ORDEN
AND ALQUILER.CÓDIGO = CLIENTES.CODIGO AND
ALQUILER.N_DE_SERIE = ALMACEN.`Nº_DE_SERIE` AND
ALMACEN.MODELO = PRECIOS.Modelo AND
ALMACEN.`Nº_DE_SERIE` = COMPONENTES.`Nº_SERIE` And
(year(ALQUILER.INICIO_ALQUILER) = " & year(dFecha) & " AND MONTH(ALQUILER.INICIO_ALQUILER) = " & Month(dFecha) & " AND DAY(ALQUILER.INICIO_ALQUILER) >= " & Day(dFecha)& ") OR "
& " (YEAR(ALQUILER.INICIO_ALQUILER) = " & Year(dFecha) & ")" ' and "_
& " (month(ALQUILER.INICIO_ALQUILER) > " & month(dFecha) " ) OR
(year(ALQUILER.INICIO_ALQUILER) > " & year(dFecha)) & " AND
ALQUILER. `Fecha_Albarán` <> NULL)"
Lo que ocurre si ejecuto esta instrucción, es que el programa se bloquea. ¿Se debe esto a un error de sintaxis?
Un saludo

1 Respuesta

Respuesta
1
Ten en cuenta que lo que te mando es solo explicativo... reemplaza por los datos que necesites.
Prueba lo siguiente:
Buscar = "select * from TABLA where (fecha >= '" & Format(Fecha, "mm/dd/yyyy") & "')"
Muchas gracias por contestar, he probado pero no me ha servido, así que he optado por poner donde year >= year y mes >= mes, así me mostrará a partir del mes, aunque no sea exactamente del día.
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas