Delphi - Problema al filtrar un Query entre fechas

 
Vista:

Problema al filtrar un Query entre fechas

Publicado por Judit (45 intervenciones) el 09/06/2006 01:04:24
Buenas tardes!

Tengo un formulario con un TQuery, un Datasource , un TDBGrid enlazado al DataSource del TQuery, varios edit y 2 datetimepicker, apuntando a una base de datos Access conectado desde un ODBC.

Estoy utilizando el siguiente código para ir filtrando los datos que se van a mostrar en el DBGrid mediante el Query.

Query1.Close();
Query1.SQL.Text := 'SELECT nombres_campos FROM TDocumento WHERE Userscre like '+quotedStr(('%'+Eus.Text)+'%')+ 'and Tipo_Doc like '+quotedStr(('%'+Edit4.Text)+'%')+'and Forma_Pago like '+quotedStr(('%'+Edit5.Text)+'%')+ ' and Fecha_Emision between '+ FormatDateTime('dd/mm/yyyy', EFD.date) + ' and ' + FormatDateTime('dd/mm/yyyy', EFH.Date) + ' Order By Numero';
Query1.Open();

El problema es que cuando intento filtrar por fecha no me muestra ninguna información.

Alguien sabe que es lo que estoy haciendo mal?

He probado algunas de las soluciones en hilos anteriores y no he podido resolver mi problema.

Gracias anticipadas.

Saludos
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:Problema al filtrar un Query entre fechas

Publicado por Virum (484 intervenciones) el 09/06/2006 14:18:27
Hola:

Algunas bases de datoos, como por ejemplo FireBird, el formato de la fecha debee ser mmddyyyy

FormatDateTime('mm/dd/yyyy',

Suerte.
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:Problema al filtrar un Query entre fechas

Publicado por Judit (45 intervenciones) el 09/06/2006 15:07:29
Gracias por responder

Aunque en ese formato es que estoy pasando la fecha.

Gracias
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:Problema al filtrar un Query entre fechas

Publicado por Virum (484 intervenciones) el 09/06/2006 21:04:54
Hola.

En el código que has escrito tienes el formato

día / mes / año

y yo te puse

mes / día / año

Suerte.
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:Problema al filtrar un Query entre fechas

Publicado por Judit (45 intervenciones) el 09/06/2006 23:58:37
jeje

no me habia dado cuenta

Gracias
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

Solucion

Publicado por Judit (45 intervenciones) el 09/06/2006 16:53:12
Hola a tod@s

Solucioné el problema que tenía utilizando parámetros en el query.

Aquí está el código como quedó

Query1.Close();
Query1.SQL.Text := 'SELECT * FROM TDocumento WHERE Tipo_Doc like '+quotedStr(('%'+Edit4.Text)+'%')+'and Forma_Pago like '+quotedStr(('%'+Edit5.Text)+'%') + ' and Fecha_Emision between :PFechad and :PFechah Order by Numero';
Query1.ParamByName('PFechad').AsDateTime := EFD.DateTime;
Query1.ParamByName('PFechah').AsDateTime := EFH.DateTime;
Query1.Open();

Saludos
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