# Unterprogramm aufrufen



## 5Rad (14. Mai 2007)

Hi,
weiß jemand warum das nicht funktioniert? 


```
Public Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Select Case UnloadMode
    Case vbFormControlMenu      ' oder Case 0
      ' falls Schaltfläche "Nein" gewählt wurde, Form nicht schließen
      If vbNo = MsgBox("Haben Sie alles gesichert?" & vbCrLf _
      & "Wollen Sie jetzt wirklich beenden?", _
        vbQuestion + vbYesNo, "Sind Sie sicher ?") Then
          Cancel = True
      End If
  End Select
End Sub

Private Sub cmdCancel_Click()
    Form_QueryUnload
End Sub
```

Danke im voraus
liebe grüße
Pietro


----------



## DrSoong (14. Mai 2007)

Hast zwei Fehler, erstens reagierst du in deinem Code nur auf das Schließen per Systemmenu, zweitens ruft du die Prozedur über die Unload-Anweisung der Form auf und nicht direkt:

```
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Select Case UnloadMode
    Case vbFormControlMenu, vbFormCode     ' oder Case 0, 1
      ' falls Schaltfläche "Nein" gewählt wurde, Form nicht schließen
      If vbNo = MsgBox("Haben Sie alles gesichert?" & vbCrLf _
      & "Wollen Sie jetzt wirklich beenden?", _
        vbQuestion + vbYesNo, "Sind Sie sicher ?") Then
          Cancel = True
      End If
  End Select
End Sub

Private Sub cmdCancel_Click()
    Unload Me
End Sub
```


Der Doc!


----------



## 5Rad (14. Mai 2007)

Achso 

Perfekt ich danke dir


----------



## Alex F. (14. Mai 2007)

keine ahnung ;-)  
aber versuchs mal so 


```
Private Sub cmdCancel_Click()
    call unload (me)
End Sub
```

Grüsse bb

PS: Wenn der Benutzer auf Ende klickt will er doch verlassen


----------

