PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Como salvar dados em duas tabelas simultaneamente? #192706

04/11/2003

0

Saudações,
estou tentando fazer o seguinte: queria salvar os dados de um cadastro em duas tabelas diferentes ao mesmo tempo. A primeira tabela de compra tem codigo, nome, modelo e qtde comprada(exemplo) e a segunda de giro de estoque tem codigo, nome, modelo e qtdes de compra, saída e total(outro exemplo). A tabela de compra está setada a um datasource e aos dbedit´s e a outra não. Alguém poderia criar um exemplo simples? Preciso concluir o meu projeto e está faltando apenas a entrada de dados. Estou usando paradox mesmo para depois migrar para IB. Se precisar, vai aí o meu código:
procedure Tfrmcompesc.btconfirmarClick(Sender: TObject);
begin
fim;
if application.messagebox(´Confirma a Atualização?´,´Confirme´, mb_yesno) = idyes then
begin
try
if dbcod.text <> inttostr(tbgiroCod_prod.asinteger) then
begin
with tbesc do
begin
fieldbyname(´Cod_compra´).asinteger := strtoint(dbcodcomp.text);
fieldbyname(´Cod_prod´).asinteger := strtoint(dbcod.text);
fieldbyname(´nome´).asstring := dbnome.text;
fieldbyname(´modelo´).asstring := dbmodel.text;
fieldbyname(´Solicitado´).asstring := dbsol.text;
fieldbyname(´Dt_solic´).asdatetime:= strtodate(dbdtsol.text);
fieldbyname(´nota_fiscal´).asstring := dbnota.text;
fieldbyname(´fornecedor´).asstring := dbforn.text;
fieldbyname(´qtent´).asinteger := strtoint(dbqtde.text);
fieldbyname(´recebido´).asstring := dbreceb.text;
fieldbyname(´dtreceb´).asdatetime := strtodate(dbdtreceb.text);
end;
end;
with tbgiro do
begin
tbgiroCod_prod.asinteger := strtoint(dbcod.text);
tbgiroNome.asstring := dbnome.text;
tbgiroModelo.asstring := dbmodel.text;
tbgiroQt_ent.asinteger := strtoint(dbqtde.text);
tbgiroQt_sai.asinteger := 0;
tbgiroQt_tot.asinteger := tbescQtent.asinteger;
tbgiro.post;
tbgiro.refresh;
end;
if dbcod.text = inttostr(tbgiroCod_prod.asinteger) then
begin
with tbgiro do
begin
tbgiro.edit;
tbgiroQt_ent.asinteger := tbgiroQt_ent.asinteger + strtoint(dbqtde.text);
tbgiroQt_sai.asinteger := tbgiroQt_sai.asinteger;
tbgiroQt_tot.asinteger := tbgiroQt_ent.asinteger - tbgiroQt_sai.asinteger;
tbgiro.post;
tbgiro.refresh;
end;
end;
except begin
MessageDlg (´Não foi possível registrar esta compra´, mtInformation,[mbOk],0);
exit;
end;
end;
end;
end;


Elias Jr

Elias Jr

Responder

Posts

04/11/2003

Elias Jr

Saudações,
eu de novo, modifiquei o meu código e consegui salvar os dados. Mesmo assim eu agradeço a quem tentou me ajudar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar