Consulta en un campo calculado de fechas

Muy buenos días, me llamo Manuel y tengo un problema. Tengo una tabla donde un campo que se llama FECHASTOCK le he dicho en una consulta que sume 7 días y lo he hecho de la siguiente manera [FECHASTOCK]+7
Los resultados son perfectos, ¡Pero! Quiero consultar en ese resultado los objetos que hay entre dos fechas y he efectuado la siguiente pregunta al resultado anterior
Entre [fecha inicial] y [fecha final]
Y me da resultados erróneos
¿Qué puedo hacer?
Un saludo,
manuel
Respuesta
1
Posiblemente sea por el # para inidcar a Access que se trata de fechas
Vamos a ir por partes en la respuesta
a) Si le das fechas: #
SELECT Tabla1.FechaStock, [fechastock]+7 AS FechaMasSiete
FROM Tabla1
WHERE ((([fechastock]+7) Between #1/1/2008# And #7/13/2008#));
b) Si lo haces por parámetos, función cDate
Si lo haces por parámetros, utiliza la función cDate en inglés, o cFecha en castellano para convertir el parámetro en fecha.
SELECT Tabla1.FechaStock, [fechastock]+7 AS FechaMasSiete
FROM Tabla1
WHERE ((([fechastock]+7) Between CDate([fechainicio]) And CDate([fechafin])));
c) Si quieres guiar al usuario
Y si quieres dar alguna pista al usuario de lo que tiene que introducir
cambia [fechainicio] por [¿fecha de inicio (dd/mm/aa)?]
Y [fechafin] por [¿fecha de fin (dd/mm/aa)?]
Espero que te sea de ayuda
Hay alguna otra opción más construyendo la cadena SQL por código, si te hace falta me lo dices
Hola de nuevo
No entiendo, yo estoy a otro nivel, bastante más bajo. Yo le digo que a una fecha le sume 7 y quiero saber los datos que hay entre dos fechas no fijas, se le preguntan en el momento y me da fechas erróneas y validas.
Utiliza la siguiente consulta en la vista SQL de la consulta:
SELECT Tabla1.FechaStock, [fechastock]+7 AS FechaMasSiete
FROM Tabla1
WHERE ((([fechastock]+7) Between CDate([¿Fecha de inicio (dd/mm/aa)?]) And CDate([¿Fecha de fin (dd/mm/aa)?])));
Lógicamente cambia Tabla1 por tu tabla, y fechastock por el nombre de tu campo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas