Hey
Ich habe mal eine kleine Frage.
Ich habe ein Formular mit mehreren Unterformularen. Im Formular ist eine Checkbox, die bei Aktivierung ein Unterformular einblendet.
Private Sub chk_Firmenwagen_Click()
If Me!chk_Firmenwagen = False Then
Me!Firmenwagen.Visible = False
Else
Me!Firmenwagen.Visible = True
End If
End Sub
Folgendes Ziel: Checkbox deaktiviert: UFo ausgeblendet; Checkbox aktiviert: UFo eingeblendet und bearbeitbar; Checkbox wieder deaktivieren: den eingetragenen Datensatz löschen mit Bestätigungsabfrage.
In meinem HFo habe ich einen Abbrechen-Button, aber Daten, die in das UFo eingegeben wurden, bleiben trotzdem erhalten.
Der Deaktivieren Schritt ist dafür vorgesehen, dass wenn man die Daten doch nicht benötigt, alle Änderungen am UFo rückgängig gemacht werden.
Meine VBA-Kenntnisse sind (noch) nicht gut genug.. :-\
Kann mir jemand dabei helfen? Danke! ;)
Hallo Username
ZitatIn meinem HFo habe ich einen Abbrechen-Button, aber Daten, die in das UFo eingegeben wurden, bleiben trotzdem erhalten.
Es ist nicht wie bei Ecxel oder Word das eine Änderung gespeichert werden muss, in dem Augenblick wo der Datensatz in Access eröffnet / geschrieben / geändert wird ist er sofort gespeichert.
ZitatDer Deaktivieren Schritt ist dafür vorgesehen, dass wenn man die Daten doch nicht benötigt, alle Änderungen am UFo rückgängig gemacht werden.
Sollte der Abbrech Button dazu nutzt werden das der markierte Datensatz bei betätigen gelöscht wird?
Aber über den Abbrechen Button besteht doch die Möglichkeit Änderungen rückgängig zu machen (bzw. den Eintrag wieder zu löschen). Das UFo ist ein Einzelformular, ein anderes als Endlosformular, für das ich das gleiche bezwecke.:)
Bei "Uncheck" sollen sämtliche Änderungen am UFo rückgängig gemacht werden (der Eintrag soll gelöscht werden). Es gibt doch garantiert eine andere Lösung als das lediglich per Datensatzmarkierer zu bewerkstelligen :D
Im HFo kann ich per Abbrechen-Button Änderungen schließlich auch zurücksetzen.
LG
Hi,
probier mal, den "Abbrech"-Button in das Formular/Unterformular zu setzen, in dem der Datensatz nicht gespeichert werden soll.
Sobald dieser Button außerhalb des Formulars/Unterformulars ist, wird der Datensatz beim Anklicken des außerhalb stehenden Buttons automatisch gespeichert, es sei denn, Du baust im Ereignis "Vor Aktualisierung" eine Abfrage ein, ob der Datensatz gespeichert werden soll oder nicht.
Falls nein => dann führen cancel + me.undo zum Rückgängigmachen.
Neben der "Maus"-Variante (Button anklicken) gibt es auch noch die "light"-Variante, die ohne VBA auskommt:
Ist aber nur etwas für die Freaks, die auch mal bereit sind, die Maus loszulassen und die Tastatur zu bedienen. ;D
Drück mal die ESC-Taste, wenn Du die Datensatz-Bearbeitung abbrechen willst. ;)
Harald
Hi Harald,
Zitates sei denn, Du baust im Ereignis "Vor Aktualisierung" eine Abfrage ein, ob der Datensatz gespeichert werden soll oder nicht.
:D So habe ich mir das auch vorgestellt. Habe mich auch schon etwas dran gesetzt. Meine Idee mit dem "Rückgängig machen" wird wahrscheinlich höchstens so realisierbar sein, oder? http://www.access-entwicklerbuch.de/2007/index.php?page=buch&bookpage=Kap_04/07_02.html (http://www.access-entwicklerbuch.de/2007/index.php?page=buch&bookpage=Kap_04/07_02.html)
Ich werde es dann aber mit "Vor Aktualisierung" ausprobieren.
Danke ;)