Access - operaciones con fechas en el criterio de consulta

 
Vista:

operaciones con fechas en el criterio de consulta

Publicado por chals (4 intervenciones) el 06/04/2011 09:13:55
He creado una consulta cuyo criterio es :
>Ahora()-(365*18)
Y he creado un formulario que se apoya en tal consulta.
Funciona bien. Me avisa de aquellas personas menores de 18 años.
Pero no con exactitud, debido a los años bisiestos.
¿Qué condición debería poner para que a la fecha de hoy le reste 18 años exactos? (sin necesidad de crear un formulario y meterle código, sino simplemente por consulta) ...
O sea que si en el criterio de consulta (en el campo "fechanacimiento") meto
>DateAdd("yyyy", -18, Ahora())
me lo rechaza, por error
También me rechaza >DateAdd("yyyy", -18, Date) (sí que me acepta esa sintaxis por código en formulario)
En cambio, me acepta, por ejemplo, >Ahora()-(365*18) según explicaba al principio.
Pero eso último no lleva al mismo día del mismo mes, de hace 18 años (por los bisiestos)
He probado con otras operaciones de fechas (en criterios de consulta) y tampoco las acepta.
Os agradeceré que me aclaréis qué operaciones con fechas aceptan los criterios de consultas.

Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

operaciones con fechas en el criterio de consulta

Publicado por angelessebas (208 intervenciones) el 06/04/2011 11:36:18
Hola,

En las consulta se utiliza el ; en vez de la , que es para el código:

>DateAdd("yyyy";-18; Ahora())

Saludos, Angeles
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

operaciones con fechas en el criterio de consulta

Publicado por CARLOS (4 intervenciones) el 06/04/2011 15:51:31
Efectivamente, parece ser que lo que aceptan los criterios de consulta es ";" en vez de ",".
Pero si pongo el código >DateAdd("yyyy";-18; Ahora())
me lo convierte en >AgregFecha("""yyy""";-18;Ahora()) o sea con comillas triples.
Ese """yyy""" provoca el error "llamada a procedimiento no válida". Si cambio """yyy""" por "yyy" lo cambia de nuevo a """yyy""".
Si pruebo con "aaa" de nuevo provoca "llamada a procedimiento no válida".
Si pruebo con "y" me lo cambia a "\y".
Y si pruebo con "a" me lo acepta pero al ejecutar la consulta no me lista ningún registro, a pesar de que uno de ellos contiene la fecha 18/01/1997 (que sí que es mayor que la fecha de hoy menos 18 años).
Así que no sé qué es lo que falla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

operaciones con fechas en el criterio de consulta

Publicado por CARLOS (4 intervenciones) el 06/04/2011 15:58:41
¡¡¡Ya está!!!...
La solución es usar 4 letras a en vez de 3 :
>AgregFecha("aaaa";-18;Ahora())

en vez de
>AgregFecha("aaa";-18;Ahora())

Lo pongo para beneficio de cualquiera que se encuentre con el mismo embrollo.

Y muchas gracias a Angeles, porque ha sido quien me ha llevado a una senda que llevaba a la sintaxis correcta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar