Como pego o valor da variável numa consulta com Query?
Ao fazer uma consulta na minha tabela MOVV, eu quero que some a quantidade(QDE) do produto desejado com a data do dia anterior e retorne o valor pra mim, mas como faço pra pegar o valor da variável Vtotal que existe nó na SQL como mostra a seguir????
Ou estou fazendo errado meu Select?
with Query4 do
begin
active:=false;
SQL.Clear;
SQL.Add(´Select CODPROD,DATA,REF,SALDOLOJA,SALDODEP,QDE, Sum(QDE) AS Vtotal FROM MOVV WHERE DATA=´´+formatdatetime(´yyyy/mm/dd´,Date)+´´-1 Group By CODPROD,DATA,REF,SALDOLOJA,SALDODEP,QDE´);
ExecSQL;
active:=true;
end;
Ou estou fazendo errado meu Select?
with Query4 do
begin
active:=false;
SQL.Clear;
SQL.Add(´Select CODPROD,DATA,REF,SALDOLOJA,SALDODEP,QDE, Sum(QDE) AS Vtotal FROM MOVV WHERE DATA=´´+formatdatetime(´yyyy/mm/dd´,Date)+´´-1 Group By CODPROD,DATA,REF,SALDOLOJA,SALDODEP,QDE´);
ExecSQL;
active:=true;
end;
Rodrigo51
Curtidas 0
Respostas
Cdaraujo
26/07/2003
Caro amigo,
Veja um exemplo que desenvolvi pra vc.
with Query4 do
begin
if Active then
Close; //Fehca a Query
SQL.Clear;
SQL.Add(´SELECT CODPROD, DATA, REF, SALDOLOJA,SALDODEP, QDE, SUM(QDE) AS VTOTAL´);
SQL.Add(´FROM MOVV ´);
SQL.Add(´WHERE DATA =:DT´);
SQL.Add(´GROUP BY CODPROD, DATA, REF, SALDOLOJA, SALDODEP, QDE´);
ParamByName(´DT´).AsDateTime := Date + 1; //Somando 1 dia a data atual
Open; //Abrindo a Query
end;
Atenciosamente,
[b:490fa8197e]
Daniel Araújo[/b:490fa8197e]
Veja um exemplo que desenvolvi pra vc.
with Query4 do
begin
if Active then
Close; //Fehca a Query
SQL.Clear;
SQL.Add(´SELECT CODPROD, DATA, REF, SALDOLOJA,SALDODEP, QDE, SUM(QDE) AS VTOTAL´);
SQL.Add(´FROM MOVV ´);
SQL.Add(´WHERE DATA =:DT´);
SQL.Add(´GROUP BY CODPROD, DATA, REF, SALDOLOJA, SALDODEP, QDE´);
ParamByName(´DT´).AsDateTime := Date + 1; //Somando 1 dia a data atual
Open; //Abrindo a Query
end;
Atenciosamente,
[b:490fa8197e]
Daniel Araújo[/b:490fa8197e]
GOSTEI 0
Aroldo Zanela
26/07/2003
Colega,
Sempre que usar SELECT use [b:001e63b106]Open[/b:001e63b106] e para todas as outras instruções, inclusive DML use ExecSQL.
Sempre que usar SELECT use [b:001e63b106]Open[/b:001e63b106] e para todas as outras instruções, inclusive DML use ExecSQL.
GOSTEI 0
Rodrigo51
26/07/2003
[quote=´cdaraujo´]Caro amigo,
Veja um exemplo que desenvolvi pra vc.
with Query4 do
begin
if Active then
Close; //Fehca a Query
SQL.Clear;
SQL.Add(´SELECT CODPROD, DATA, REF, SALDOLOJA,SALDODEP, QDE, SUM(QDE) AS VTOTAL´);
SQL.Add(´FROM MOVV ´);
SQL.Add(´WHERE DATA =:DT´);
SQL.Add(´GROUP BY CODPROD, DATA, REF, SALDOLOJA, SALDODEP, QDE´);
ParamByName(´DT´).AsDateTime := Date + 1; //Somando 1 dia a data atual
Open; //Abrindo a Query
end;
[color=blue:2cd2c226f8][b:2cd2c226f8]Valeu...mas o que eu queria era saber como faço para pegar o ´valor da soma da varável Vtotal´ quando eu faço a soma no ´Sum(QDE) as Vtotal´??[/b:2cd2c226f8][/color:2cd2c226f8]
Veja um exemplo que desenvolvi pra vc.
with Query4 do
begin
if Active then
Close; //Fehca a Query
SQL.Clear;
SQL.Add(´SELECT CODPROD, DATA, REF, SALDOLOJA,SALDODEP, QDE, SUM(QDE) AS VTOTAL´);
SQL.Add(´FROM MOVV ´);
SQL.Add(´WHERE DATA =:DT´);
SQL.Add(´GROUP BY CODPROD, DATA, REF, SALDOLOJA, SALDODEP, QDE´);
ParamByName(´DT´).AsDateTime := Date + 1; //Somando 1 dia a data atual
Open; //Abrindo a Query
end;
[color=blue:2cd2c226f8][b:2cd2c226f8]Valeu...mas o que eu queria era saber como faço para pegar o ´valor da soma da varável Vtotal´ quando eu faço a soma no ´Sum(QDE) as Vtotal´??[/b:2cd2c226f8][/color:2cd2c226f8]
GOSTEI 0
Netosdr
26/07/2003
edit1.Text := floattostr(Query4.FieldbyName(´VTotal´).AsCurrency;
Creio que irá funcionar.
Creio que irá funcionar.
GOSTEI 0
Turbo Drive
26/07/2003
Tente tb:
edit1.text := floattostr(Query4.fields[6].AsFloat); onde fields[6] corresponde a VTOTAL
Espero ter ajudado
edit1.text := floattostr(Query4.fields[6].AsFloat); onde fields[6] corresponde a VTOTAL
Espero ter ajudado
GOSTEI 0