PDA

Vollständige Version anzeigen : Problem mit MsgBox ?


PC74
31.10.2001, 19:48
Hi Leute und guten Abend !
Wie ihr seht stehen mir die Haare zu berge.
Da ich mit PopUp-Fenster arbeite versuche ich schon eine ganze weile diese Prozedur umzusetzen, nur es klappt nicht:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim msg As String
Dim kdinfo As String
kdinfo = Me.[Objekt-Straße] & ", " & Me.[Objekt-Ort] '& ", " & Me.PLZ & " " & Me.Ort
msg = "Möchten Sie das Wartungsobjekt " & vbCrLf & kdinfo & vbCrLf & "speichern ?"
If KeyCode = 27 Then ' 27-->>ESC
KeyCode = 0 ' -->> als wäre keine Taste gedrückt
If MsgBox(msg, vbYesNo + vbQuestion, "Wartungsobjekt speichern?") = vbYes Then
DoCmd.RunCommand acCmdSaveRecord
End If
DoCmd.Close
End If

Ziel der ganzen Schose ist wenn ich nach Eingabe von Daten diesen DS nicht Speichern möchte so soll es auch geschehen.
Es klappt nur nicht !

Wäre für Hilfe dankbar.

WalterS
31.10.2001, 19:55
HI PC 74!

Du hast Glück, wenn dir bei diesem Code nur die Haare zu berge stehen und noch nicht ausgefallen sind wie vermutlich den Anwendern für die dieser Code bestimt ist.

Mann muss bei deinem Code zuerst die ESC-Taste drücken um die Anfrage (MSGBOX) zu erhalten ob man die Daten speichern will !?!?!?!


Vielleicht kannst du dein Vorhaben, was du eigendlich machen willst mitteilen.

Kopf hoch, Haare herunter!

PC74
31.10.2001, 20:15
Danke Walter für die schnelle Reaktion !
Mein eigentliches Problem ist,das ich über die ESC - Taste mein Eingabeformular schließen möchte aber vorher über die msgbox abgefragt werden möchte ob der DS überhaupt gespeichert werden soll.
Dein Hinweis für die vorherige Anfrage an die msgbox ist ja richtig nur wie baue ich die jetzt in meine Prozedur ein ?

Gruß Uwe !

WalterS
31.10.2001, 20:23
Hi!
Also mit ÈSC- storniert man normalerweise Vorgänge und schließt nicht Formulare. Wenn du die TastenVorschau in deinem Form aktiviert hast, sollte zumindest der Code - so wie du ihn hast- ausgeführt werden. Dein Problem ist aber, dass ein Docmd.close auch den Datensatz speichert. Sie dir einmal den Code an, den der Assistent für "Rückgängig machen" baut.