Hallo zusammen,
ich habe jetzt wieder ein neues Thema welches mich beschäftig.
Ich füge einen neuen Datensatz per Adotable in eine Accessdatenbank ein.
Darauf folgt dann eine Aktualisierung des DBGRID.
Beim ersten mal einfügen wird das Grid aber nicht aktualsiert. Erst wenn ich einen weiteren Datensatz hinzufüge erscheinen beider neuen Datesätze in dem DBGrid.
Was mache ich falsch?
Delphi-Quellcode:
procedure TMain.AddBtnClick(Sender: TObject);
begin
Adotable1.Active := false;
Adotable1.tablename := 'anpassd';
Adotable1.Active := true;
if fitteredit.Text <> '' then
begin
adotable1.Edit;
AdoTable1.Append;
adotable1.FieldByName('Anpasser').AsString := fitteredit.Text;
adotable1.post;
end;
//delay(1000);
gridrefresh('anpassd','Anpasser');
end;
procedure TMain.Gridrefresh(Tabelle,fieldn:string);
begin
jvdbgrid2.Update;
adoquery1.active:=false;
adoquery1.sql.Clear;
adoquery1.sql.text := 'SELECT * FROM '+ Tabelle;
adoquery1.active:=true;
adoquery1.ExecSQL;
adoquery1.Requery();
jvdbgrid2.Columns[0].FieldName := fieldn;
jvdbgrid2.Columns[0].Width := 177;
end;
Das oben eingebaute Delay führt zwar zum gewünschten Effekt, ist aber nicht sonderlich schön.
Zudem muss ja irgendwo in meinem Code ein Fehler sein.