Hallo Tom,
du benötigst einen Schalter, den du umlegst, wenn du bewusst einen Datensatz einfügen willst. Ich verwende in meinem Beispiel die property Tag des DataSets, aber du kannst auch einfach eine Zustandsvariable AutoInsert in deine Form aufnehmen.
Delphi-Quellcode:
procedure TDataForm.DBNavigatorClick(Sender: TObject;
Button: TNavigateBtn);
begin
with Sender as TDBNavigator do
DataSource.DataSet.Tag := Ord(Button = nbInsert);
end;
procedure TDataForm.DataSetAfterCancel(DataSet: TDataSet);
begin
DataSet.Tag := 0;
end;
procedure TDataForm.DataSetAfterPost(DataSet: TDataSet);
begin
DataSet.Tag := 0;
end;
procedure TDataForm.DataSetBeforeInsert(DataSet: TDataSet);
begin
if DataSet.Tag = 0 then
Abort;
end;
Grüße vom marabu