[firebase-br] Off-Topic Duvidas com IBO
paulollazaro - Gmail
paulollazaro em gmail.com
Sáb Mar 8 20:45:29 -03 2008
boa noite a todos
Me desculpem novamente pelo off-topic, mas estou tentando fazer esta
rotina, mas não está dando certo. Se alguem puder me ajudar?
Utilizo D7, IBO e Firebird.
O que eu gostaria de fazer é o seguinte: ler duas tabelas e gravar
alguns dados numa terceira tabela, a query que receberá os dados está
com generate EditSQL, generate insertSQL e Generate DeleteSQL marcados.
É a primeira vez que faço desta forma, utilizava IBO com IBOTABLE, e
agora estou apanhando mais que vaca na horta.
O que acontece, o programa executa o while, mas não faz a inclusão dos
registros lidos na nova tabela
Segue abaixo um exemplo do que estou tentando fazer. obrigado a todos e
desculpem o tamanho do e-mail.
Paulo
IB_Vendas.Close;
IB_Vendas.SQL.Clear;
IB_Vendas.SQL.Add('SELECT PEDIDO, NOTAFISCAL, CODCLIENTE,
NOMECLIENTE, DATA, ');
IB_Vendas.SQL.Add('FROM VENDAS WHERE DATA BETWEEN :DATAI AND :DATAF
ORDER BY NOTAFISCAL');
IB_Vendas.Prepare;
IB_Vendas.Params[0].Value := IB_DateTimePicker1.Date;
IB_Vendas.Params[1].AsDate := IB_DateTimePicker2.Date;
IB_Vendas.Open;
While not IB_Vendas.EOF do
begin
IB_ITENSVENDAS.Close;
IB_ITENSVENDAS.SQL.Clear;
IB_ITENSVENDAS.SQL.Add('SELECT PEDIDO, TRANSPORTADORA, NATUREZA,
QUANTIDADE, TOTALNF ');
IB_ITENSVENDAS.SQL.Add('FROM ITENSVENDAS WHERE PEDIDO = :nroped
ORDER BY PEDIDO');
IB_ITENSVENDAS.Prepare;
IB_ITENSVENDAS.Params[0].AsInteger :=
IB_Vendas.FieldByName('PEDIDO').AsInteger;
IB_ITENSVENDAS.Open;
IB_NOVATB.FieldByName('PEDIDO').AsString :=
IB_VENDAS.FieldByName('PEDIDO').AsInteger;
IB_NOVATB.FieldByName('TRANSPORTADORA').AsInteger :=
IB_ITENSVENDAS.FieldByName('TRANSPORTADORA').AsInteger;
IB_NOVATB.FieldByName('QUANTIDADE').AsInteger :=
IB_ITENSVENDAS.FieldByName('QUANTIDADE').AsInteger;
IB_NOVATB.Post; É NECESSÁRIO COLOCAR ESTE POST ?
IB_Vendas.Next;
end;
Mais detalhes sobre a lista de discussão lista