In (declarations) create a global variable for the form:
Dim buttonClickedFlag as Integer
In QueryOpen, you'd want the flag to default to false:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As
Variant)
buttonClickedFlag = False
End Sub
In the button code, set the flag to true, along with whatever else you want to do:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
buttonClickedFlag = True
...
Call workspace.EditDocument(True)
End Sub
In QueryModeChange,
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
If Not ( source.EditMode ) And buttonClickedFlag = False Then
Messagebox("Please use the Edit button to modify this form.")
continue = False
End If
End Sub