Delphi - como consultar entre un rango de fechas en delphi

 
Vista:

como consultar entre un rango de fechas en delphi

Publicado por Pablo V (6 intervenciones) el 28/09/2004 22:44:30
hola amigos
me gustaria ver si me pueden ayudar a resolver el problema que tengo ya que es urgente, lo que deseo saber es como seria una consulta entre 2 fechas(en delphi) textual, ya que lo intento de esta forma y me arroja un problema
select sum(iva) from facturas_emitidas where fecha between #01-05-2004# and #31-05-2004# en el database explore de las propiedades me entrega el resultado bien, pero en el codigo del programa me arroja el problema me dice error de sintaxis
si alguien me puede ayudar se los agradezco de antemano.
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:como consultar entre un rango de fechas en delp

Publicado por MiguelC (20 intervenciones) el 28/09/2004 23:17:50
Mira yo lo que hago es lo siguiente, textual:

procedure TLisMgVta.BitBtn1Click(Sender: TObject);
Var
Msg:String;
D1, M1, A1, D2, M2, A2: Word;
Fec1, Fec2: String;
Ant_Format : String;
begin
DecodeDate(FecI.Date, A1, M1, D1);
DecodeDate(FecF.Date, A2, M2, D2);
Ant_Format:=ShortDateFormat;
ShortDateFormat:='MM/DD/YYYY';
Fec1:=DateToStr(EncodeDate(A1, M1, D1));
Fec2:=DateToStr(EncodeDate(A2, M2, D2));

Msg:='Select FNumero, Fcosto, FPedido, FNomPro, FFecha From';
Msg:=Msg+' "DetFactura.Dbf" Where (FFecha>=';
Msg:=Msg+'''';
Msg:=Msg+Fec1;
Msg:=Msg+'''';
Msg:=Msg+') and (FFecha<=';
Msg:=Msg+'''';
Msg:=Msg+Fec2;
Msg:=Msg+'''';
Msg:=Msg+')';
Msg:=Msg+' and Ftipo<>'+QuotedStr('GUI');

Query1.Sql.Clear;
Query1.Sql.Add(Msg);
Query1.Active:=true;
Query1.First;
ShortDateFormat:=Ant_Format;
QuickRep1.PrinterSettings.PrinterIndex:=Printer.PrinterIndex;
QuickRep1.preview;
Application.ProcessMessages;
Query1.Active:=False;
Release;

//Espero te sirva... 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

RE:como consultar entre un rango de fechas en delp

Publicado por Francisco Horacio Arena (140 intervenciones) el 29/09/2004 22:00:39
Primero, la consulta SQL en el Query cambia:

SELECT sum(iva) FROM facturas_emitidas
WHERE fecha BETWEEN :fecha1 AND :fecha2

En SQL los parámetros van precedidos de dos puntos (.). En este caso particular, estos son fecha1 y fecha2.
Cuando vayas abrir la consulta (Query1.Open), antes debes establecer el valor de estos parámetros:

...
Query1.ParamByName('fecha1').AsString:= Edit1.Text;
Query1.ParamByName('fecha2').AsString:= Edit2.Text;
Query1.Open;
...

En este ultimo ejemplo, los valores de fecha1 y fecha2 los obtiene de dos cuadros de texto. Si usarámos DateTimePickers o variables del tipo fecha el codigo quedaría asi:

...
Query1.ParamByName('fecha1').AsDate:= DateTimePicker1.Date;
Query1.ParamByName('fecha2').AsDate:= DateTimePicker2.Date;
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