Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   conectar un grid o un db grid a un query (https://www.clubdelphi.com/foros/showthread.php?t=49818)

Caral 31-10-2007 04:36:09

Hola
se me corrio un detalle:
Código Delphi [-]
b:=combobox1.Text;
     a:=combobox1.Items.IndexOf(b)+1;
     fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
     fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
     ADOquery1.Close;
     ADOquery1.SQL.Clear;
     ADOquery1.SQL.Add('select fecha, total, costo, impuesto, ganancia from ciber');
     ADOquery1.SQL.Add(' where fecha between :Fechain and :Fechafin');
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     ADOquery1.Open;
Saludos

Caral 31-10-2007 04:44:40

Hola
Aqui ya es tarde, si tienes mas dudas o puedes poner el programa, lo vere mañana.
Saludos

douglas 31-10-2007 04:44:45

gracias caral, pero perdon por las molestias, pero me despliega toda la informacion de la tabla, mm nu me la filtra, perdon que te moleste tanto

douglas 31-10-2007 05:37:15

ok gracias caral funciono el codigo, mi error, estaba en la base de datos, jejejej tonteras de inexpertos, el codigo me quedo asi.

Código Delphi [-]
 
procedure TForm5.ComboBox1Change(Sender: TObject);
var
b,fecha1,fecha2:string;
a,gan,imp,cost:real;
begin
     b:=combobox1.Text;
     a:=combobox1.Items.IndexOf(b)+1;
     fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
     fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
     ADOquery1.Close;
     ADOquery1.SQL.Clear;
     ADOquery1.SQL.Add('select fecha, total, costo, impuesto, ganancia from ciber');
     ADOquery1.SQL.Add(' where fecha between :Fechain and :Fechafin');
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     ADOquery1.Open;

end;

ahora quise crear una sumatoria de de las ganancias e hice algo asi, pero no me funciono.???? me puedes ayudar a determinar que pudo haber pasado

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
var
b,fecha1,fecha2:string;
a,gan:real;
begin
adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select sum(ganancia)');
     adoquery1.SQL.Add(' from '+quotedstr('ciber'));
     adoquery1.SQL.Add(' where fecha between :Fechain and :Fechafin');
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     adoquery1.Open;
     edit1.Text:=formatfloat('00.00',gan);
     adoquery1.Close;
end;
saludos y gracias

enecumene 31-10-2007 14:45:49

Hola Douglas, es tan sencillo como esto:

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
var
b,fecha1,fecha2:string;
a,gan:real;
begin
     adoquery1.Close;
     adoquery1.SQL.Text:='select sum(ganancia) from '+quotedstr('ciber') where fecha between :Fechain and :Fechafin';
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     adoquery1.Open;
     edit1.Text:=FloattoStr(ADOQuery1.Fields[0].asFloat);    
end;

espero que te ayude.

Saludos.


La franja horaria es GMT +2. Ahora son las 19:45:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi