O autoincremento que eu faço para estes casos, eu o faço clonando o CDS. Veja o exemplo abaixo:
Eu o coloco no Evento OnNewRecord do CDS que voce quer incrementar var cdsClone: TClientDataset; begin try cdsClone := TClientDataSet.Create(nil); cdsClone.CloneCursor(<Cds que voce pretente clonar>, True, False); cdsClone.Last; DataSet.FieldByName('NSEQITMOV').AsInteger := cdsClone.FieldByName('NSEQITMOV').AsInteger + 1; DataSet.FieldByName('IDITENS').AsInteger := GenAutoInc('IDITENS'); DataSet.FieldByName('CODKITIRLA').AsString := DMTP.dsKitIrla.DataSet.FieldByName('CODKITIRLA').AsString; DataSet.FieldByName('CODORIGEM').AsString := DMTP.dsKitIrla.DataSet.FieldByName('CODORIGEM').AsString; cdsClone.Close; FreeAndNil(cdsClone); except raise EDataBaseError.Create(Exception(exceptobject).Message); DataSet.Cancel; end; []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://delphitocorporerm.blogspot.com/ http://twitter.com/wchagas MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr ----- Original Message ----- From: diego yahoo To: delphi-br@yahoogrupos.com.br Sent: Thursday, April 15, 2010 5:49 PM Subject: [delphi-br] Master Detail com Campo Auto-Incremento Olá amigos, alguém sabe como utilizar Master/Detail com campo auto incremento (generator) ?? Preciso que o campo auto-incremento gerado pelo banco seja atualizado na tela. Utilizo DBExpress , Delphi7 e Firebird. Agradeço. Diego. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]