Ver Mensaje Individual
  #1  
Antiguo 19-01-2008
gsilvei gsilvei is offline
Miembro
 
Registrado: jul 2006
Posts: 44
Reputación: 0
gsilvei Va por buen camino
Repite los datos al guardar

Hola a todos,
utilizo delphi7 e tablas .dbf,
cuando guardo registros de mi dbgrid em mi table1.dbf por primera vez funciona bien, ahora cuando modifico o adiciono un registro em mi dbgrid, surge un problema, y es que repite todos los datos del dbgrid y vuelve a salvarlos, es decir, si tengo:

dbgrid:
001 - teste
002 - varios
salva bien en mi table1

cuando adiciono:
001 - teste
002 - varios
003 - xxxxxx
me salva los 3 registros pero mi table1, queda asi:

001 - teste
002 - varios
001 - teste
002 - varios
003 - xxxxxx

mi funcion es:
Código Delphi [-]
procedure TFormCprograma.BtnSalvarClick(Sender: TObject);
begin
DBGrid3.Options := DBGrid3.Options + [dgMultiSelect];
  with DBGrid3.DataSource.DataSet do
    begin
      First;
    for vlLinha := 0 to RecordCount - 1 do
    begin
      DBGrid3.SelectedRows.CurrentRowSelected := True;
      Next;
    end;
    end;
      DBGrid3.SelectedRows.Refresh;
  if DBGrid3.SelectedRows.Count > 0 then
  begin
    for Idx := 0 to DBGrid3.SelectedRows.Count-1 do
    begin
     // posiciona o dataset de origem no "n" registro selecionado
      CDS.GotoBookmark(pointer(DBGrid3.SelectedRows.Items[Idx]));
      Table1.Append;
      Table1ALUNOMATRI.Value :=  TabGlobal.Dprograma.alunomatricula.Conteudo;
      Table1ALUMNOID.Value :=  TabGlobal.Dprograma.alumnoID.Conteudo;
      Table1DTINICIO.Value :=  TabGlobal.Dprograma.dt_inicio.Conteudo;
      Table1ID.Value :=  CDS.Fields[0].Value;
      Table1COD.Value :=  CDS.Fields[1].Value;
      Table1EXERCICIO.Value :=  CDS.Fields[2].Value;
      Table1TIEMPO.Value :=  CDS.Fields[3].Value;
      Table1.Post;
    end;
  end;
 
 
end;

gracias
saludos
Responder Con Cita