Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: PSCMS am Mai 22, 2018, 14:46:14

Titel: ungewollte Datensatzänderung verhindern
Beitrag von: PSCMS am Mai 22, 2018, 14:46:14
Hallo, ich habe mit Null Vorwissen nur durch Probieren eine inzwischen ziemlich komplexe aber funktionierende  ;D Datenbank erstellt. Habe aber überhaupt keine Ahnung von VBA. Bisher habe ich mir alles was ich nicht selber hinbekommen habe aus dem Netz heraus gesucht und kopiert. Allerdings finde ich nichts Brauchbares zu folgendem Thema: Habe Formulare mit mehreren Unterformularen, mit denen meine Kollegen arbeiten sollen. Dabei muss jedoch verhindert werden, dass Daten versehentlich verändert oder gelöscht werden. Wie, wo und was muss ich tun, damit beim Wechseln zu einem anderen Datensatz oder Schließen eine Meldung kommt " Soll Änderung des Datensatzes gespeichert werden ?" und in Folge dann bei "Ja" gespeichert und bei "Nein" Änderung rückgängig gemacht wird?
Titel: Re: ungewollte Datensatzänderung verhindern
Beitrag von: DF6GL am Mai 22, 2018, 15:10:56
Hallo,


z. B. so:


Sub Form_BeforeUpdate(Cancel as Integer)

If Msgbox ("soll gespeichert werden?", vbYesNo) = vbNo Then
  Cancel = True
  Me.Undo
  Me.Undo
  Me.Undo
End If

End Sub

Titel: Re: ungewollte Datensatzänderung verhindern
Beitrag von: Joss am Mai 22, 2018, 15:47:23
Hallo PSCMS,

du kannst auch hier mal nachlesen:
VBA Tipp: Schließen des Formulars im Before-Update-Ereignis vermeiden (http://dbwiki.net/wiki/VBA_Tipp:_Schlie%C3%9Fen_des_Formulars_im_Before-Update-Ereignis_vermeiden)

Gruß
Josef