Criterio para consulta de rango de fechas y fecha específica Access.

Necesito ayuda para esta búsqueda que creo debe ser fácil pero lastimosamente no lo puedo hacer. Tengo un formulario de búsqueda de registros por varios criterios entre ellos el rango de fechas. Para introducir los parámetros dos textbox FECHA_DESDE y FECHA_HASTA. Un botón BUSCAR que ejecuta una consulta que en el campo fecha tiene el criterio Entre [FECHA_DESDE] Y [FECHA_HASTA]. La búsqueda del rango funciona bien pero lo que necesito es que introduciendo solo un parámetro en el texbox FECHA_DESDE busqué ésa fecha exacta.

2 respuestas

Respuesta
1

Partiendo de lo siguiente>>

FiltroFechas = "[NombredeTucampoFecha] BETWEEN #" & Format(Nz(Me.DesdeFecha, #1/1/1900#), "mm-dd-yyyy") & _
"# AND #" & Format(Nz(Me.HastaFecha, #12/31/9999#), "mm-dd-yyyy") & "#"

Y si solo quieres desde una Fecha hasta hoy por ejemplo, donde pone Me. HastaFecha, le pones: Date

Tambien lo puedes manejar desde el Evento Load del Formulario, poniendo Me.HastaFecha =...La fecha que quieras.

Si quieres un fijo de + 90 días >> Me.HastaFecha = DateAdd("d",90,Date).

Si no es eso lo que estás buscando puedes cometarlo.

¡Gracias Jacinto!. La verdad que me resultaría más sencillo introducir una instrucción en el campo criterio de la consulta si es que se puede. Saludos

Si quieres filtrar en consulta con el TextBox que según intuyo ya tienes en tu Formulario donde está el Botón.

Por supuesto se puede poner en la parrilla, celda Criterios, tal como en la imagen:

Orders:Tabla de los Pedidos >> Adecua el resto de Nombres a los que tu tengas.

¡Gracias! Pruebo y te digo. Saludos!

Yo tengo esta instrucción en la parrilla criterios del campo fecha, que me busca el rango, lo que quisiera es poder dejar vacio el campo txt_fecha_hasta y que cargando sólo el dato en txt_fecha_desde, al oprimir el boton_buscar (requery a listbox) me devuelva la fecha exacta. No sé si podrá poner una instrucción combinada o dos a la vez. Ojalá me haya hecho entender. Gracias nuevamente y saludos! 

Entre [Formularios]![BUSQUEDA]![txt_fecha_desde] Y [Formularios]![BUSQUEDA]![txt_fecha_hasta]

Solucionado!. Sólo agregré una instrucción = [fecha_desde] en el criterio "o" y funcionan ambas. Muchas Gracias Expertos!!!!

De nuevo yo!. Como dije en el ultimo mensaje, me funcionó la búsqueda de fecha pero... Ahora no me funcionan los otros criterios!. ¿Qué estaré haciendo mal?. Explico nuevamente como funciona mi formulario:

Tenía en el formulario 8 txtbox y un listbox. Un botón que realiza la búsqueda y me pone los resultados en el listbox. La búsqueda esta basada en una consulta que tiene el siguiente criterio dependiendo del campo:

Como "*" & ([Formularios]![RCSL_BUSQUEDA_admin]![txt_elcampoindicado]) & "*"

Esto me permitía hacer una búsqueda con una combinación de criterios y todo funcionaba bien hasta con un boton_buscar con el código :

Private Sub consulta_busqueda_Click()
Lista_RESULTADO.RowSource = "RCSL_CONSULTA_busqueda"
Lista_RESULTADO.Requery
End Sub

 Luego me pidieron agregar dos campos para buscar por rango de fechas y lo hice

txt_fecha_desde y txt_fecha_hasta. En el criterio en la consulta Entre [Formularios]![RCSL_BUSQUEDA_admin]![txt_fecha_desde] y [Formularios]![RCSL_BUSQUEDA_admin]![txt_fecha_hasta]

o

=[Formularios]![RCSL_BUSQUEDA_admin]![txt_fecha_desde]

Hecho esto, la búsqueda ahora sólo arroja resultados con datos de fecha y no con los anteriores criterios. Heeeeeeeeeeeeeeeeeeeeeeeeelp!. Saludos!

Al menos en mi caso, cuando el filtro es de 9 o 10 criterios, se me hace difícil darte una contestación sin ver la Base de datos.

¿Puedes poner en un enlace la parte mínima para poder resolver mejor tus dudas?

Además casi seguro que recibirás otras respuestas que enriquecerán la solución de tu problema.

Perdón por responder recién ahora, pero es que estaba a full con esta cuestión y no logro aun resolverlo. Lastimosamente no puedo compartir la BD pues no me dejan. He probado de todo y nada. Según el análisis que he hecho lo que necesito es poder dejar vacíos los txt_fecha_desde y txt_fecha_hasta y que la consulta pueda buscar solo por los demás txt. Es por las pruebas que he hecho, por ejemplo, si pongo fechas en dichos campos de fecha y en los demás, lleva a cabo la búsqueda tal cual quiero, pero si no introduzco valor en dichos txt y en los demás si, me arroja un resultado en blanco. Espero una luz!

Respuesta
1

Si quieres hacer los filtros por consultas y desde el mismo formulario en el que tienes los parámetros poder hacer las dos opciones (desde fecha hasta fecha o igual a fecha) vas a necesitar dos consultas:

Una, la que ya tienes para que te filtre entre ambas fechas

otra, idéntica a la que tienes, pero con el criterio del campo fecha: = [Fecha Desde], para que te filtre sólo esa fecha.

Luego, en el botón, analizas el cuadro de texto Fecha_Hasta, y si tiene valor abres la primera consulta, y si no lo tiene, la segunda:

Private Sub btnBuscar_Click()

If IsNull(Me.FECHA_HASTA) Or Nz(Me.FECHA_HASTA,"")="" Then

'Ejecutas la consulta que pide sólo FECHA_DESDE

Else

'Ejecutas la consulta que tienes ahora

End If

End Sub

¡Gracias Sveinbjorn El Rojo!. La verdad como le había explicado a Jacinto, pretendo solo poner una instrucción en la parrilla "criterios" de la consulta que ya tengo hecha y que funciona bien, que es de múltiples criterios para todos los campos de mi formulario de búsqueda. No quisiera hacer otra consulta solo para esto. Tal vez un criterio combinado, la verdad no lo sé. Espero tu ayuda. Gracias

Pues lo que quiero hacer es por ejemplo, buscar en un determinado rango de fechas o una fecha especifica, los registros cargados por un determinado usuario y tener los resultados en mi listbox. No se si se podrá como pretendo. Saludos!

Hasta donde yo sé, en un criterio de una consulta no lo vas poder hacer. Tendrás que buscar otras opciones, como la que te comentaba antes, o ya que vas a mostrar los resultados en un cuadro de lista, olvidarte de la consulta y crearle la consulta origen del cuadro de lista (la SQl que irá en la propiedad RowSource) mediante código VBA.

La idea viene siendo la misma: si sólo tienes una fecha, le asignas al cuadro de lista la SQL con un sólo criterio, y si tienes dos fechas, la SQL con los dos criterios.

¡Gracias Sveinbjorn El Rojo!. La verdad que lo quise hacer de esta forma pues fue la que me funcionó y entendí. ¿Bueno entonces que es lo más fácil que me recomiendas?. Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas