[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