Du solltest aus deinem Datenmodul NICHT auf das Formular zugreifen.
Delphi-Quellcode:
procedure TDM_Buecher.ADS_BuecherBeforePost(DataSet: TDataSet);
begin
//if TrimRight(ADS_BuecherTitel.AsString) = '' then // Alternative
if TrimRight(Dataset.FieldByName('
Titel').AsString) = '
'
then
raise Exception.Create('
Titel muss angegeben werden');
end;
Du musst auch nicht die DBLookupComboBox abfragen, sondern nur prüfen ob das Fremdschlüsselfeld gefüllt ist:
Delphi-Quellcode:
procedure TDM_Buecher.ADS_BuecherBeforePost(DataSet: TDataSet);
begin
if Dataset.FieldByName('
IdAuthor').IsNull
then
raise Exception.Create('
Author muss ausgewählt werden');
if TrimRight(Dataset.FieldByName('
Titel').AsString) = '
'
then
raise Exception.Create('
Titel muss angegeben werden');
end;