Delphi - CONSULTA CON FECHAS ACCESS 2000

 
Vista:

CONSULTA CON FECHAS ACCESS 2000

Publicado por NOLOSE (25 intervenciones) el 06/02/2004 17:23:09
Hola amigos, tengo un pequeño problema con una consulta que quiero realizar, tengo la BD Entradas. las cuales tienen el campo fecha, del día que se dieron de alta, entonces lo que quiero hacer, es que con dos TEdit, poner el rango de de búsqueda, es decir, en el Edit1 poner 01/01/04 y en el Edit2 poner 29/02/04 (el formato es dd/mm/aa) en acces 2000, pero me marca un error tengo el siguiente código:

Form8.Query1.SQL.Clear;
Form8.Query1.SQL.Add('SELECT *');
Form8.Query1.SQL.Add('FROM db_entradas');
Form8.Query1.SQL.Add('WHERE fecha BETWEEN #' + Edit1.Text + '#' + ' and ' + '#' + Edit2.Text + '#' );
Form8.Query1.Active:=True;

Pero marca el siguiente ERROR

Invalid use of keyword
Token: # #
Line 3

Espero que alguien me pueda ayudar a resolver este problema, gracias...
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

RE:CONSULTA CON FECHAS ACCESS 2000

Publicado por Jeffre Fuentes (13 intervenciones) el 06/02/2004 18:52:01
Prueba lo siguiente.

Form8.Query1.SQL.Clear;
Form8.Query1.SQL.Add('SELECT *');
Form8.Query1.SQL.Add('FROM db_entradas');
Form8.Query1.SQL.Add('WHERE fecha BETWEEN :fecha1 and :fecha2' );
Form8.Query1.ParamByName('fecha1') := Edit1.Text;
Form8.Query1.ParamByName('fecha2') := Edit2.Text;
Form8.Query1.Open;

Si en ACCESS el campo FECHA está declarado como tipo DATE en lugar de tipo TEXTO, entonces creo que necesitas hacer
Form8.Query1.ParamByName('fecha1') := StrToDate(Edit1.Text);
Form8.Query1.ParamByName('fecha2') := StrToDate(Edit2.Text);

Luego, con esto:
if Form8.Query1.FindFirst then {Encontró al menos un registro.}
begin
{Lo que vayas a hacer con lo que retornó la consulta.}
end;

Espero te sirva.
P.D
No sé si falta un .VALUE en
Form8.Query1.ParamByName('fecha1').VALUE := StrToDate(Edit1.Text);
Form8.Query1.ParamByName('fecha2').VALUE := StrToDate(Edit2.Text);

Tampoco me queda muy claro qué tipo de query estás utilizando, por aquello, también podría ser algo así:
Form8.Query1.Parameters.ParamByName('fecha1').VALUE := StrToDate(Edit1.Text);
Form8.Query1.Parameters.ParamByName('fecha2').VALUE := StrToDate(Edit2.Text);
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