Faça o posto para cada registro criado, e ao final use ApplyUdpates(0). Com ApplyUpdates(-1), se houverem erros, os mesmos não serão notificados à aplicação. Sds.
To: delphi-br@yahoogrupos.com.br From: ral...@gmail.com Date: Fri, 12 Mar 2010 07:20:01 -0300 Subject: [delphi-br] Duplicar registro no firebird Bom dia. Venho mais uma vez, pedir a ajuda dos nobres colegas. Tenho um sistema em Delphi 7 e Firebird 2.1 para digitalização de documentos com duas tabelas devidamente ligadas (master detail). Existe um campo chamado QtdPag (Edit) onde o usuário vai informar a quantidade de documentos a digitalizar. Com base nesta quantidade digitada, queria que fosse gravado em banco a quantidade de registros informado no campo QtdPag. Na verdade, os registros seriam duplicados e salvos em banco de acordo com a quantidade informada. Estou tentando desta maneira abaixo: procedure TfrmDigitalizaTCM.AdvGlassButton1Click(Sender: TObject); begin btnSalvarTCM.Click; DM.cds_TCM_A.Open; Try For Docs := 1 to StrToInt(QtdPag.Text) do begin DM.cds_TCM_A.Insert; DM.cds_TCM_ACODIGO_ENTIDADE.Text:=CodMunicipio.Text; DM.cds_TCM_ACOD_UNID_ADMINISTRATIVA.Text:=DBText1.Caption; DM.cds_TCM_ASIGLA_DOCUMENTO.Text:=TipoDoc.Text; DM.cds_TCM_AEXERCICIO.Text:=DBEdit1.Text; DM.cds_TCM_AUNIDADE_GESTORA.Text:=DBText2.Caption; DM.cds_TCM_A.Post; DM.cds_TCM_A.ApplyUpdates(-1); end; finally ShowMessage('Inicie a digitalização de "'+QtdPag.Text+'" página(s) do documento:'+#13+'"'+RxDBLookupCombo1.Text+'"'); end; end; Porém, se informar 5 no campo QtdPag é mostrado no dbgrid os 5 registros, mas no banco é gravado somente 1 registro. Como poderia resolver este problema? Abraços. Ralp Alves Bezerra _________________________________________________________________ Não deixe rastros ao navegar na Internet. Instale Grátis o Internet Explorer 8 agora. http://go.microsoft.com/?linkid=9707132 [As partes desta mensagem que não continham texto foram removidas]