Problema al comparar fechas

Tengo un campo en una tabla con formato fecha corta, aunque en la tabla me sale con este formato:05/10/2010 7:47:00. (La fecha se pone con date().)
Ahora necesito una consulta que discrimine por fecha, en los criterios de la consulta le pongo 05/10/2010 y me da el siguiente error:
"Se ha producido el erro 3071 en tiempo de ejecución. Esta expresión no esta escrita correctamente o es muy compleja para evaluarse"

1 respuesta

Respuesta
1
La fórmula que pones la entiende como una división y su resultado es una fecha muy fea, tanto que no le gusta.
Podrías poner la fecha entre almohadillas "#", pero cuidado... lo mismo toma el mes como el día y viceversa. Personalmente no me suele gustar esta opción.
Si lo que estás preparando es una consulta en Access, lo más sencillo es que le indiques que se trata de un parámetro de tipo fecha. Entra en el menú 'consulta - parámetros' y lo defines ahí. Después sólo tienes que poner el nombre entre corchetes en el apartado de criterios.
Uno de los problemas que encontrarás es que, al tener internamente la fecha con formato fecha/hora, al intentar compararla con una fecha... no va a coincidir (salvo que la hora sean las 12 de la noche exactamente 00:00:00).
Para evitar eso puedes hacer una pequeña chapucilla que es convertir la fecha a formato año, mes y día, y con eso volver a construir la fecha. Me explico, en lugar de poner en la consulta [fecha proceso] tendrías que poner:
dateserial(year([fecha factura]);month([fecha factura]);day([fecha factura]))
Si lo pones así te lo traducirá al español (SerieFecha(...)).
Con ello evitas la hora:minutos:segundos de la fecha y así podrás hacer bien las consultas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas