Problemas al realizar búsquedas por fechas

Señores buena día, tarde o noche.

Estoy trabajando con VBA en Access 2007

Tengo una tabla con nombre “ALUMNO” con los siguientes campos:

Id_alumno >>> Tipo numérico

Nombre >>> Tipo texto

Apellido >>> Tipo texto

Fecha_nacimiento >>> Tipo fecha (fecha corta dd/mm/aa)

Por otra parte tengo un formulario (Los txt de fechas tienen el formato fecha corta dd/mm/aa) donde estoy haciendo búsquedas por rango de fechas:

Al mostrar resultados de búsqueda, me muestra fechas que no coinciden con el rango que estaba especificado en los campos.
¿Alguien tiene alguna idea de cómo resolver el problema?

Lo olvidaba, el código que estoy utilizando es el siguiente:

Dim consultaSQL as String
consultaSQL = "SELECT * FROM ALUMNO"
consultaSQL = consultaSQL & " WHERE fecha_nacimiento >= #" & txtFechaInicial.Value & "# AND fecha_nacimiento <= #" & txtFechaFinal.Value & "# "

Saludos =)

...

...

..

3 Respuestas

Respuesta
2

Cuando trabajas con SQLs en VBA has de usar fomrato de fechas americano, que es el único que entiende:

consultaSQL = consultaSQL & " WHERE fecha_nacimiento >= #" & Format(txtFechaInicial,"mm/dd/yyyy") & "# AND fecha_nacimiento <= #" & Format(txtFechaFinal,"mm/dd/yyyy") & "# "

Un saludo


Respuesta
2

Ahora que te han dado respuestas y las has valorado, ¿Por qué no pones en las propiedades del botón de comando, en Eventos- Al hacer clic

If not isnull([fechafinal]) then

Form.RecordSource = "select * from alumnos where fecha_nacimiento between #" & Me.FechaInicial & "# and #" & Me.FechaFinal & "#"

end if

Comprueba en las propiedades del los cuadro de texto FechaInicial y Fechafinal, en la solap-Otras-Nombre si se llaman así.

En el caso de que los nombre estuvieran separados, tipo Fecha Inicial, tendrías qe ponerlos entre corchetes

Respuesta
1

A Access hay que pasarle las fechas siempre en formato yanqui.

fecha > #" & Format(me.fecha1, "mm/dd/yyyy") & "# .....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas