Einzelnen Beitrag anzeigen

tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#1

Datensatz in einer Tabelle kopieren

  Alt 16. Aug 2006, 14:42
Datenbank: access • Version: 2000 • Zugriff über: ADO
Moin. Ich habe folgendes Problem. Ich möchte Datensatze in einer Tabelle kopieren. Ich habe auch schon was zusammengebastelt aber das funktioniert. Sprich es wird nichts kopiert.

Delphi-Quellcode:
function TForm1.CopyVorgang(ds : TADODataSet; akte: string):boolean;
var
  fields : array[0..20] of Variant;
  i : integer;
begin
   for i := 0 to ds.FieldCount -1 do
    fields[i] := ds.FieldList[i].AsVariant;
  ds.InsertRecord([nil,akte]);
  ds.Edit;
  for i := 2 to ds.FieldCount-1 do
    ds.FieldByName(ds.FieldList[i].FieldName).AsVariant := fields[i];
   // oder ds.FieldList[i].AsVariant := fields[i]
  ds.Post;
end;
damit möchte ich den aktuellen datensatz kopieren, wobei das erste feld ein autofeld ist und das zweite feld entsprechend geändert werden kann. Der neue Datensatz wird ja auch richtig eingefügt (ds.InsertRecord) aber es werden keine Daten kopiert. Ich hab am Ende auch schon ein Post versucht, aber dann kommt nur die Meldung "Die zum aktualisieren angegebene zeile wurde nicht gefunden. Einige Werte wurde seit dem letzten Lesen ggf. geändert"

Gruß
tr909
  Mit Zitat antworten Zitat