Fórum Selecionar vários registros em DBGrid e enviá-los para outra #260027

25/11/2004

0

Olá pessoal,

Como faço para selecionar vários registros em um DBrid e enviá-los para outra tabela? Tentei da seguinte forma:

procedure TFrmCertidoes.suiButton1Click(Sender: TObject); Var I:Integer; begin for i := 0 to DB3DGrid1.SelectedRows.Count - 1 do begin Certidoes.Append; CertidoesNomeDoAluno.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´NomeDoAluno´).value; CertidoesMatricula.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´Matricula´).value; CertidoesNomeDoPai.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´NomeDoPai´).value; CertidoesNomeDaMae.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´NomeDaMae´).value; CertidoesDataDeNascimento.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´DataDeNascimento´).value; CertidoesNaturalidade.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´Naturalidade´).value; CertidoesNacionalidade.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´Nacionalidade´).value; CertidoesCPF.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´CPF´).value; CertidoesIdentidade.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´Identidade´).value; CertidoesNomeDoCurso.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´NomeDoCurso´).value; CertidoesNomeDaUnidade.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´NomeDaUnidade´).value; CertidoesDataDeColacao.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´DataDeColacao´).value; CertidoesAnoDaConclusao.Value:=DB3DGrid1.datasource.dataset.fieldbyname(´AnoDaConclusao´).value; Certidoes.Post; End; end;


Só q está acontecendo o seguinte:
Se eu seleciono 3 registros, está gravando na outra tabela o último registro selecionado 3 vezes, Se eu seleciono 6 registros, está gravando na outra tabela o último registro selecionado 6 vezes, e assim por diante.

Tipo:
Selecionei:
[color=red:a16c304996]Raimundo
Zezinho
Paulinha[/color:a16c304996]

Se a Paulinha foi o último registro selecionado no DBGrid, ele joga para a outra tabela:
[color=red:a16c304996]Paulinha
Paulinha
Paulinha[/color:a16c304996]

Como posso fazer isso?

Grato,

Ilano.


Ilanocf

Ilanocf

Responder

Posts

25/11/2004

Gandalf.nho

O problema é que você não está movendo o registro de origem a cada Post.


Responder

Gostei + 0

26/11/2004

Khundalini

Se vc procurou informação no help do Delphi sobre a propriedade SelectedRows ñ atentou, a propriedade SelectedRows é uma espécie de array (vamos dizer assim) onde cada elemento é um bookmark (ou ponteiro) do registro selecionado. Consulte o help do Delphi mais sobre esta propriedade. No help mesmo vc acha um exemplo de utilização da propriedade.

[]s
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

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

Aceitar