Consulta em DBGRID BD Paradox
Amigos, preciso fazer um cálculo no dbgrid, onde os campos são (Quantidade de Retirada, Valor Unitário e Valor total por produto), pretendo criar um botão via SQL que me retorne esse valores, pois são muitas requisições.
Utilizo banco de dados Paradox . Tenho as tabelas Pedido e Detalhes do Pedido. Elas estão amarradas pelo codigo requizição. Preciso fazer com que a (quantidade de produtos solicitados * valor unitário que são valores que já possuo) me retornem o Valor Total por produto dentro do DBGRID (obs: Valor Total campo que possuo na tabela).
Depois precisaria jogar o valor total da requizição (Soma dos valores totais dos produtos de cada requizição num DBTEXT.
Utilizo banco de dados Paradox . Tenho as tabelas Pedido e Detalhes do Pedido. Elas estão amarradas pelo codigo requizição. Preciso fazer com que a (quantidade de produtos solicitados * valor unitário que são valores que já possuo) me retornem o Valor Total por produto dentro do DBGRID (obs: Valor Total campo que possuo na tabela).
Depois precisaria jogar o valor total da requizição (Soma dos valores totais dos produtos de cada requizição num DBTEXT.
Julio Piorino
Curtidas 0
Respostas
Salsa
16/03/2005
cara se nao me engano nos artigos do site aki do forum ou nas dicas.. tem um exemplo de como trabalhar com grid e campos calculados... da uma procurada la :)
GOSTEI 0
Rafael Santana
16/03/2005
Bom dia, Amigo...
seguinte...
Na verdade, não iremos fazer cálculos no DBGrid em si, mas no BD...
vc deve criar um campo CALCULATED na tabela DETALHES...
feito isso vc vai no evento ONCALCFIELD da tabela ou sql (´não sei o que vc tá usando´) e digite QUERYTALCAMPOSOMAUNITARIA.VALUE:=QTDRETIRADA*VALUNITARIO;
onde: QUERYTAL é o nome da query que vc está usando ou no nome do componente Table que vc usa...não sei qual é
CAMPOSOMAUNITARIA é o nome do campo CALCULATED que vc criou
QTDRETIRADA é o campo que vc já possui na sua tabela DETALHES
VALUNITARIA é o campo que vc já possui na sua tabela DETALHES
agora, no evento BEFOREPOST da query ou table DETALHES vc faz assim
TABELAPEDIDO.EDIT;
TABELAPEDIDONOMEDOCAMPOVALORTOTAL.VALUE:=QUERYTALCAMPOSOMAUNITARIA.VALUE.VALUE;
TABELAPEDIDO.POST;
prontinho tá feito...
seguinte...
Na verdade, não iremos fazer cálculos no DBGrid em si, mas no BD...
vc deve criar um campo CALCULATED na tabela DETALHES...
feito isso vc vai no evento ONCALCFIELD da tabela ou sql (´não sei o que vc tá usando´) e digite QUERYTALCAMPOSOMAUNITARIA.VALUE:=QTDRETIRADA*VALUNITARIO;
onde: QUERYTAL é o nome da query que vc está usando ou no nome do componente Table que vc usa...não sei qual é
CAMPOSOMAUNITARIA é o nome do campo CALCULATED que vc criou
QTDRETIRADA é o campo que vc já possui na sua tabela DETALHES
VALUNITARIA é o campo que vc já possui na sua tabela DETALHES
agora, no evento BEFOREPOST da query ou table DETALHES vc faz assim
TABELAPEDIDO.EDIT;
TABELAPEDIDONOMEDOCAMPOVALORTOTAL.VALUE:=QUERYTALCAMPOSOMAUNITARIA.VALUE.VALUE;
TABELAPEDIDO.POST;
prontinho tá feito...
GOSTEI 0
Julio Piorino
16/03/2005
Obrigado pela dica ! vou tentar agora valeu!!!!!
GOSTEI 0
Julio Piorino
16/03/2005
Valeu Rafael! Vou tentar a sua dica agira
GOSTEI 0
Julio Piorino
16/03/2005
Ta dando certo, Criei ocampo calculado mas ta dando erro na seguinte linha
Dados.tb_DetalhepedCAMPOSOMAUNITARIA.VALUE:= Quant_Ret * Valor_Unit;
[Error] unt_dados.pas(96): Undeclared identifier: ´Quant_Ret´
[Error] unt_dados.pas(96): Undeclared identifier: ´Valor_Unit´
[Fatal Error] AlmoxPio.dpr(14): Could not compile used unit ´unt_dados.pas´
o restante ta beleza
Dados.tb_DetalhepedCAMPOSOMAUNITARIA.VALUE:= Quant_Ret * Valor_Unit;
[Error] unt_dados.pas(96): Undeclared identifier: ´Quant_Ret´
[Error] unt_dados.pas(96): Undeclared identifier: ´Valor_Unit´
[Fatal Error] AlmoxPio.dpr(14): Could not compile used unit ´unt_dados.pas´
o restante ta beleza
GOSTEI 0
Rafael Santana
16/03/2005
vc tem esses campos na tabela ´Quant_Ret´ ´Valor_Unit´ ????
vc colocou esse comando
Dados.tb_DetalhepedCAMPOSOMAUNITARIA.VALUE:= Quant_Ret * Valor_Unit
no evento ONCALCFIELD da tabela?
veja aí e me fale...
valeu
vc colocou esse comando
Dados.tb_DetalhepedCAMPOSOMAUNITARIA.VALUE:= Quant_Ret * Valor_Unit
no evento ONCALCFIELD da tabela?
veja aí e me fale...
valeu
GOSTEI 0
Gandalf.nho
16/03/2005
[b:a40ad32833][color=red:a40ad32833]Notificação de Infração às Regras de Conduta :[/color:a40ad32833][/b:a40ad32833]
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?p=190511[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?p=190511[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
GOSTEI 0