Contar fechas o edades

Me llamo David, tengo una base de datos de animales, donde se reconoce el crotal, la fecha de nacimiento, etc. Y saco unas etiquetas con códigos de barras y con algunos datos. Pero ahora lo que necesito es que en la etiqueta me ponga la letra Z cuando los animales sean menores de 12 meses pero mayores de 8 meses, y que ponga la letra V cuando sean menores de 8 meses.
    No se si hay alguna expresión que cuente las fechas o las edades, o se hace una consulta o que narices se hace porque la verdad yo no se casi nada de access, y la base de datos que tengo la realizó un compañero que ahora no está y es una base de datos super complicada.
    Te agradecería que me echases una mano, y que me ayudases a realizar dichas etiquetas.

1 respuesta

Respuesta
1
Lo más sencillo es una consulta con un campo calculado que utilice la función SiInm
Imagino que quieres comparar la fecha de nacimiento del animal con la fecha actual y saber cuantos meses van de diferencia. Imagina que tienes un campo llamado F_Nto
En la consulta crea un campo con la expresión siguiente:
Categoria: SiInm(DifFecha("m";[F_Nto];Fecha())<8;"V";SiInm(DifFecha("m";[F_Nto];Fecha()) Entre 8 Y 12;"Z";""))
Te explico su funcionamiento
SiInm(Prueba lógica;valor si verdadero; valor si falso)
DifFecha ("intervalo: dias, meses, años";Fecha1;Fecha2)
Fecha() Devuelve la fecha del sistema
La función SiInm es igual que la función Si de Excel lo que estoy diciendo es que si la diferencia de meses entre la fecha de nacimiento y ahora es menor que 8 ponga V si no tiene que comprobar otra vez cuantos meses tienes desde la fecha de nacimiento hasta la actual y si está entre 8 y 12 (>8 y <12) ponga Z y si no que no ponga nada por eso pone "" al final.
Muchísimas gracias, me ha salido muy bien pero necesito una aclaración que tiene un pequeño fallo: los animales que tienen 12 meses y 7 días por ejemplo sale la letra Z porque cuenta por meses y los días no les cuenta y yo necesito que estén entre 8 y 12 meses no entre 8 y 12 meses y pico. Y pasará lo mismo con los 8 meses aunque en ese caso es distinto porque pongo menor de 7 meses y ya está porque si tiene 7 meses y pico es menor de 8 meses,
   Me gustaría que me dijeses la función exacta, a lo mejor hay que contar los días también, no lo sé. Muchas gracias por toda la ayuda. Un saludo.
Se me ocurre otra cosa, que no es del todo exacta, contar días Diffecha("d";[F_Nto];Fecha()) Te devolverá los días que tienes entre la fecha de nacimiento del animal y la fecha actual del sistema.
No es del todo exacto porque tienes años bisiestos, es decir, años con 366 días y no con 365 días.
Así tendrías que hasta Agosto son 173 días y hasta diciembre 192
Categoria: SiInm(DifFecha("m";[F_Nto];Fecha())<8;"V";SiInm(DifFecha("d";[F_Nto];Fecha() Entre 173 Y 192;"Z";""))
Siento no poder ayudarte más.
Perdona debe de haber algo mal porque no me salen los que están entre 173 días y 192. No me sale la Z y lo he puesto todo como me lo has puesto. Las V si me salen bien.
¿Hay algo mal? Gracias.
Si que tiene algo mal pero es culpa mía. Después de fecha() tiene que ir ) para cerrar DifFecha
No es eso, eso ya lo había visto yo porque me daba error y lo puse. Tiene que ser otra cosa que no me reconoce los días o yo que se. Si lo averiguases te lo agradecería mucho. Gracias.
Ya se lo que puede ser: porque dices que son 173 días hasta agosto si 8 meses serán aproximadamente 243 días y 12 meses 365 días. ¿Es decir sería Entre 243 o algo así y 365 o no? Me confundo en algo. ¿De donde has sacado lo de 173 y 192. No lo entiendo. Gracias.
Si llevas razón
Hasta Agosto son 243 días, sería Entre 243 y 365 días

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas