Ausgangsthread:
http://www.atnotes.de/index.php?board=7;action=display;threadid=16576Frage: Wie kann man in Formelsprache im Event Querysave das Speichern verhindern und abbrechen.
Antwort: Es muss das Systemfeld SaveOptions verwendet werden. Hat das Feld den Wert "0", kann das Dokument nicht gespeichert werden (auch wenn man <Ctrl>+S drückt).
Standardmäßig ist dieses Feld nicht vorhanden und beim Schließen wird der Anwender gefragt, ob gespeichert werden soll.
Hier der Beispielcode:
FIELD SaveOptions := SaveOptions;
@If(
NichtSpeichern = "1";
@Return(@SetField("SaveOptions";"0"));
@SetField("SaveOptions";@Unavailable)
);
@Prompt( [Ok]; "";"Das kannst Du nur lesen, wenn alles ok ist!")
Erläuterungen:
Die Bedingung
NichtSpeichern = "1";
muss durch die entsprechende Bedingung ersetzt werden, wenn nicht gespeichert werden soll.
Durch das
@SetField("SaveOptions";@Unavailable)
wird das Feld wieder aus dem Dokument gelöscht.
Gibt es das Feld SaveOptions mit dem Wert "1", wird übrigens immer gespeichert. Beim Schließen erscheint in diesem Fall nicht der Speichern-Dialog.
Andreas