Formel funktionier bei Schaltfläche - jedoch nicht im Querysave

  • Hallo zusammen,


    folgende Formel haeb ich hinter einer Schaltfläche liegen.
    __________________________________________________
    @If(
    ImageName = "";
    result := @Prompt([YesNo]; "Save Error" ; "Document cannot be saved because the Image Name field is empty! Would you like to close the document without saving?");
    Imagepicture = "";
    result := @Prompt([YesNo]; "Save Error" ; "Document cannot be saved because the Image Name field is empty! Would you like to close the document without saving?");
    Imageexplanation = "";
    result := @Prompt([YesNo]; "Save Error" ; "Document cannot be saved because the Image Name field is empty! Would you like to close the document without saving?");""
    );


    @If(result = 1;
    @Command([FileCloseWindow]);
    result = 0;
    FIELD SaveOptions := @DeleteField;
    "")
    __________________________________________________


    Wenn ich nun per Compose die Form öffne, nicht alle Felder ausfüllen möchte und dann auch speichern klicke, bekomme ich die Frage, ob ich das Dokument ohne zu speichern schließen möchte. Klicke ich auf ja, dann passiert was soll, das Dokument wird ungepsiechert geschlossen.


    Die gleiche Formel im QuerySave bewirkt jedoch, dass das Dokument, egal ob ich ja oder "nein" klicke gespeichert wird. Gibt es dafür eine logische Begrüdnung, warum sich das QuerySave anders verhält?


    Mfg


    Der Lord

  • Ganz einfach: das querysave event kann man mit Formelsprache nicht abbrechen.
    Dazu musst Du das ganze in Script programmieren und continueauf false setzen...


    Brigens gehört solcher code, wenn Du ihnunbedingt in Formel haben willst schlicht in die Feldvalidierung des betreffenden feldes. Und dort statt des @Prompt ein @Failure und schon wird das speichern verhindert... Aber solche absoluten elementals werden doch schon im allerersten Anfängerkurs für Entwicklung vermittelt...