PDA

Vollständige Version anzeigen : Beim Schliessen, nicht speichern !!


Jünter
06.02.2001, 13:08
Hallo,

ich habe ein Problem :-) Ich möchte verhindern, dass wenn der Benutzer ein Formular über die Schliessen-Schaltflächen (oben rechts das Kreuz) verlässt, eventuell eingegebene Daten gespeichert werden. Sie sollen nur gespeichert werden, wenn er auch wirklich die Speichern-Schaltfläche gedrückt hat. Ansonsten kann er ja z.B. benötigte Felder einfach leerlassen. Ist das irgendwie machbar ??

Danke

Ras
06.02.2001, 13:23
Stelle die Eigenschaft "Schliessen Schaltfläche" des Formulars auf Nein,
dann ist sie inaktiv...
Gruss,
Ras

Jünter
06.02.2001, 13:50
Leider nicht, denn die Schliessen-Schaltfläche der Menüzeile ist immernoch vorhanden. Außerdem kann der Benutzer auch durch ALT+F4 die Datenbank verlassen, es geht also nicht darum, diese Schaltfläche wegzubekommen, sondern zu verhinder, dass der Datensatz gespeichert wurde, obwohl die Schaltfläche nicht gedrückt wurde!!

Ras
06.02.2001, 14:30
vielleicht kann DIr folgendes helfen...
bem Ereignis Formular schliessen:

call frmAbbrechen("Formularname")

Im Modul:

Public Function frmAbbrechen(strformularname As String) As Integer
On Error GoTo Fehler_frmAbbrechen
Dim f As Form
Dim Meldung As String
Set f = Forms(strformularname)
If f.Dirty Then
Meldung = "Der Datensatz wurde verändert ! Soll er ohne Sicherung verlassen werden ?"
If MsgBox(Meldung, 4 + 16, "Datensatz abbrechen ?") = 6 Then
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
DoCmd.Close
End If
Else
DoCmd.Close
End If
Exit_frmAbbrechen:
Exit Function
Fehler_frmAbbrechen:
MsgBox Err.Number & ", " & Err.Description
Resume Exit_frmAbbrechen
End Function

Gruss,
Ras

Jünter
06.02.2001, 16:06
Vielen Dank erstmal für Deine Mühe !!
ich dachte allerdings, dass es vielleicht ein bißchen weniger "professionell", auf deutsch: EINFACHER geht. Ich verstehe auch gerne, das was ich in meine DB einbaue :-))
Aber vielen Dank für die Mühe und vielleicht hast Du ja doch noch eine "einfachere" Idee !!!