Zitat von
Ati:
... Auch auf die Gefahr hin das sich hier einige gleich ausschütten werden vor Lachen anbei mal mein gesamter Quelltext.
Wer lacht sollte sich daran erinnern wie er angefangen hat
So, jetzt zu dem "Problem"
Das mit dem AfterPost kann natürlich nicht gehen da Du das
Query ja ganz anders benutzt als ich dachte (ist aber auch gut so).
Die Ereignisse BeforPost, AfterPost usw. würde nur ausgelöst werden wenn Du über eine TDataSource irgendwelche DBxxxx-Komponenten verwendest oder im Code so etwas stehen hast:
Delphi-Quellcode:
begin
Query1.Edit
Query1.FieldByName ('blubb').AsString := Edit1.Text
Query1.FieldByName ('meow').AsInteger := 0815;
Query1.Post;
end
Du arbeitest aber "direkt" mit
SQL-Kommandos (INSTERT,UPDATE).
Bei dir müsstest Du also nur, wie von mir vorgeschlagen eine Funktion schreiben welche die Fehler prüft.
Wenn diese TRUE liefert führst Du deinen Code im OnClick des Buttons aus und wenn FALSE kommt dann gibst Du die Meldung aus.
Ich würde den ganzen Code zum Eintragen der Daten aber auch noch in eine Funktion auslagern.
So das Du diesen Pseudocode hast:
Delphi-Quellcode:
procedure TForm1.btnspeichernClick(Sender: TObject);
begin
if (EingabeTest) then
begin
SpeicherenNeuenDatensatz;
end
else
begin
Fehlermeldung;
end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"