Delphi - Busqueda entre fechas con ado access

 
Vista:

Busqueda entre fechas con ado access

Publicado por kamael (9 intervenciones) el 25/11/2009 21:57:40
Estoy buscando entre dos fechas con el siguiente codigo :
"Query2.SQL.Text := ('SELECT * FROM Kilometros ');
Query2.sql.add('Where Fech between :Fecha1 and :Fecha2');
Query2.Parameters.ParamByName('fecha1').Value := dtpc1.Date ;
Query2.Parameters.ParamByName('fecha2').Value := dtpc2.Date ;
query2.SQL.Add('Order by Fech');
Query2.Open;
Query2.Filter := 'Mat = '+QuotedStr(Cb1.Text);
Query2.Filtered := True; "

Y me da este error : "No Coinciden los tipos de datos en la expresion de criterios".
Que estoy haciendo mal?. Me está volviendo loco. Me podeis echar una mano?
La base de datos es access y uso ado delphi7.
Gracias anticipadas
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:Busqueda entre fechas con ado access

Publicado por E.T. (1244 intervenciones) el 26/11/2009 17:14:57
Corre el programa linea a linea para ver donde esta el error, si al abrir el query o al filtrar
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:Busqueda entre fechas con ado access

Publicado por joseluis2112 (5 intervenciones) el 26/11/2009 22:51:24
hola ..
asi de pronto me asaltan unas dudas sobre tu codigo

Query2.sql.add('Where Fech between :Fecha1 and :Fecha2'); //podria ser que Fecha1 no es igual que fecha1, haber si va a ser eso.

quizas asi.
Query2.sql.add('Where Fech between :fecha1 and :fecha2');

y en caso de no funcionar probaria esto.

Query2.sql.add('Where Fech between ":fecha1" and ":fecha2"');

espero que halla 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:Busqueda entre fechas con ado access

Publicado por José Luis (9 intervenciones) el 27/11/2009 22:42:10
Query2.SQL.Text := ('SELECT * FROM Kilometros ');
Query2.sql.add('Where Fech between :Fecha1 and :Fecha2');
Query2.Parameters.ParamByName('fecha1').Value := FormatDateTime('dd,mm,yyyy',dtpc1.Date) ;
Query2.Parameters.ParamByName('fecha2').Value := FormatDateTime('dd,mm,yyyy',dtpc2.Date) ;
query2.SQL.Add('Order by Fech');
Query2.Open;
Query2.Filter := 'Mat = '+QuotedStr(Cb1.Text);
Query2.Filtered := True;

Perdona las molestias pero lo he solucionado de esta forma y me funciona perfectamente.
Gracias y perdona por las molestias
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