Die Fehlermeldung besagt, das die Abfrage kein Ergebnis liefert, was bei Insert, Update, Delete ... völlig normal ist.
Man darf active := true bzw. open nur bei Select-Statements nutzen, sonst muss man immer ExecSQL verwenden.
Delphi-Quellcode:
procedure TForm1.PjClick(Sender: TObject);
begin
Datenmodul.ADOQuery4.SQL.Clear;
Datenmodul.ADOQuery4.SQL.Add(eintrag);
Datenmodul.ADOQuery4.ExecSQL; // .Active = true bzw. .Open darf man nur bei Select nutzen, sonst IMMER ExecSQL.
Panel1.Visible := false;
PAbfrage.Visible := false;
if Datenmodul.ADOQuery4.RowsAffected > 0 then begin
showmessage('erfolgreich eingetragen!');
end else begin
showmessage('Sinnvolle Fehlermeldung ausgeben!');
end;
end;