Form_Unload mit Abfrage vbYesNo ?

Christoph1972

Erfahrenes Mitglied
Hallo!

Also, ich habe bei der Unloadfunktion eine Abrage eingebaut die sieht so aus:


Private Sub MDIForm_Unload(Cancel As Integer)

If MsgBox("Programm beenden ? Daten werden nicht gespeichert!", vbYesNo, "ENDE") = vbYes Then
End

Else
Cancel = 1
EEW.Show

End If


Nur wenn No gedrückt wird, sind alle Eingaben der Textfelder leer und genau das wollte ich vermeiden. Deshalb habe ich diese Abfrage eingebaut um versehentlichen Datenverlust zuvermeiden. So kann ich mir aber die Abfrage sparen!

Kann mir wer nen Tipp geben wie ich das händeln muß?

Gruß

Christoph


End Sub
 
ich gehe mal davon aus das die form auf der die Daten stehen nicht die mdi form ist in der die textboxen geleert werden.

Du musst die abfrage in das Query unload deiner Childform setzen

durch das Show wird das form_load erneut aufgerufen wenn die Form bereits entladen war deshalb sind vermutlich deine Textfelder leer

2. Möglichkeit wäre deine childformen nicht zu entladen sondern nur über ein .hide zu verstecken

Gruß bb
 
Cool Danke

Das hat geholfen! Aber ist es wirklich nötig das ich jedes Form mit diesem Tag versehen muß?

If MsgBox("Programm wirklich beenden ? Daten werden nicht gespeichert!", vbYesNo, "ENDE") = vbYes Then
End
Else
Cancel = 1
End If

oder geht das auch eleganter?

Christoph
 
Einfach so:
Code:
Private Sub MDIForm_Unload(Cancel As Integer)
If MsgBox("Programm wirklich beenden ? Daten werden nicht gespeichert!", vbYesNo, "ENDE") = vbNo Then Cancel = 1
End Sub
Das "End" brauchst du nicht, wenn du alles "ordentlich" programmiert hast.
 

Neue Beiträge

Zurück