Bau dir in deine Maske ein beliebiges, verstecktes Feld (Text, berechnet zur Anzeige) mit Wert "0". Im Querysave kannst du folgendes hinterlegen
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If ( source.FieldGetText( "Feldname" ) = "0" ) Then
Dim twoLiner As String
twoLiner = |Sie haben die Erfassung mit ESC verlassen und versuchen nun zu speichern!
Das dürfen Sie nicht tun! Ein Beenden der Bearbeitung ist nur über die
Buttons möglich!|
Messagebox twoLiner,16,"Unerlaubte Aktion!"
continue = False
End If
End Sub
In der Aktion die dein Button ausführt setzt du den Wert des o.a. Felds auf "1" und führst dann ein save & close oder was auch immer aus.