Access - Duda - Filtrar por fechas en un informe

 
Vista:

Duda - Filtrar por fechas en un informe

Publicado por Anna (22 intervenciones) el 23/11/2010 10:02:58
¡Hola!

A ver, os explico: Tengo una base de datos que guarda los registros de todas las llamadas realizadas en una empresa. He creado varios tipos de informes, donde se refleja en nº de teléfono origen y destino, la duración, la fecha, el importe, etc.

El caso es que a la hora de visualizar el informe, me gustaría que se pudiese filtrar por fecha, por ejemplo: Todas las llamadas que se hayan realizado entre el 01/10/2010 y el 31/10/2010. Lo podría hacer mediante una consulta, pero para hacerlo más fácil para el usuario, lo haré mediante un pequeño formulario.

Este formulario contiene el tipo de informe a visualizar, el botón para abrirlo y dos textbox (txtFechaInicio y txtFechaFin) dónde el usuario tendrá que introducir la fecha inicio y la fecha fin. He puesto el código de diferentes maneras, pero a la hora de ejecutar el informe, no me aparece ningún registro... No sé qué estaré haciendo mal. Os copio aqui el código:

*******************************************************************************************************
Dim stDocName As String
Dim FechaInicio As Date
Dim FechaFin As Date
Dim Where As Variant

FechaInicio = txtFechaInicio.Value
FechaFin = txtFechaFin .Value

Where = "'Start Date' between " & FechaInicio & " and " & FechaFin

stDocName = "INFORME"
DoCmd.OpenReport stDocName, acPreview, , Where

********************************************************************************************************

Seguramente sea algo de la condición WHERE que estaré escribiendo mal... He probado de poner el nombre del campo Start Date con comillas y sin comillas, las fechas entre almohadillas.... pero no hay manera... :-(

Si me pudiéses ayudar y decir qué es lo que falla... Gracias!!!!

Anna
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

RE:Duda - Filtrar por fechas en un informe

Publicado por pepe (67 intervenciones) el 23/11/2010 23:34:27
Elimina las comillas simples de 'Sart Date' y para las fechas utiliza siempre almohadilla, es el separador de access para fechas.

Where = "Start Date between #" & FechaInicio & "# and #" & FechaFin & "#"
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

RE:Duda - Filtrar por fechas en un informe

Publicado por Anna (22 intervenciones) el 24/11/2010 10:07:53
Hola!

Gracias por responder! Lo he hecho tal como me has dicho, pero me sale el siguiente error:

"Error de sintaxis (falta operador) en la expresión de consulta..."

Incluso he probado de cambiar el nombre del campo "Start Date" y ponerlo todo junto (StartDate), pero nada... O me sale éste error de sintaxis, o no me aparece ningún registro, o me aparecen todos... :-/
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

RE:Duda - Filtrar por fechas en un informe

Publicado por pepe (67 intervenciones) el 24/11/2010 20:07:46
De momento te recomiendo que no incluyas espacios ni caracteres de signos etc. en nombre de campos. En cuanto a la consulta, el que no aparezcan registros no tiene por que ser un fallo, quizás es que no hay registros que cumplan la condición. Puedes asegurarte facilmente que las fechas son correctas poniendo lo siguiente.

Where = "Start Date between #01/01/2000# and #31/12/2010#"

Siempre que existan registros para estas fechas, o las fechas que te aseguren que se deben mostrar registros. Si entonces obtienes registros validos es que los valores de las fechas no son correctos. Deberías comprobar los valores que obtienes de:

txtFechaInicio.Value
txtFechaFin .Value
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

RE:Duda - Filtrar por fechas en un informe

Publicado por Anna (22 intervenciones) el 25/11/2010 09:21:18
¡Hola!

Sabes lo que pasa? Que hago una importación de los datos de un Excel (el cual tiene como nombre de campo "Start Date", con espacio) a la tabla, y para que se importe correctamente, es mejor que los campos de la tabla de Access sean los mismos que los campos de la tabla de Excel, sino da error, otra cosa que no acabo de entender... :-/

Sobre la búsqueda de registros... Los hay de abril, junio y julio. Si filtro, por ejemplo, del 01/06/2010 al 30/06/2010 me aparecen todos... es como si pasara olímpicamente del filtro ¬¬. Lo he hecho introduciendo los datos en los textbox y también directamente a través del código, pero nada...

También he comprobado los valores de los dos textbox mediante un msgbox, y está todo bien...

Me pone de los nervios!!! X-(
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

RE:Duda - Filtrar por fechas en un informe

Publicado por Anna (22 intervenciones) el 25/11/2010 10:06:09
Buenas!!

Ya lo he solucionado!! Al final he pasado de código y lo he hecho directamente a través de la casilla "Criterios" de la consulta, tal que así:

Entre [Formularios]![INFORMES]![txtFechaInicio] Y [Formularios]![INFORMES]![txtFechaFin]

Y con ésto funciona perfectamente! De todas formas me he quedado un poco mosca con lo del código... si se supone que es exactamente la misma instrucción, ¿por qué en un lado funciona y en otro no?

Bueno... Gracias por tu ayuda, pepe!! ;-)

Anna
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

RE:Duda - Filtrar por fechas en un informe

Publicado por Carmen (1 intervención) el 24/09/2012 11:44:24
¡Gracias mil!, tu pediste ayuda y al final pusiste un criterio que me ha salvado a mi. Que la suerte que yo he tenido contigo, la encuentres tu con otro problema. ¡Gracias! otra vez. :))
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