In der Tat, der Vorschlag ist updatefähig, z. B. mit folgendem Schnipsel:
Code:
var V:Variant;
i:integer;
begin
with Query1 do
begin
if (not Active)or(isEmpty) then exit;
// Variant Array aufbauen
V := VarArrayCreate([0,FieldCount-1], varVariant);
for i:=0 to FieldCount-1
do
// Für alle Felder die Beschreibbar sind hole Werte ins Array
if (not Fields[i].ReadOnly)
and(Fields[i].FieldName <> KeyFieldName)
then V[i]:=Fields[i].Value;
// Leeren Datensatz in Memory anlegen
Insert;
// Wo Werte im Array sind, diese in die Felder eintragen
for i:=0 to FieldCount-1 do
if (not Fields[i].ReadOnly)
then Fields[i].Value := V[i];
// schreiben, eventuell auch später
post;
end;
end;
Grüße in die Runde // Martin