VBA Code in Access - Undo funktioniert nicht
LKro1976
Gesendet: 12.11.15 15:38
Betreff: VBA Code in Access - Undo funktioniert nicht


Member

Beiträge: 22

Ich habe eine Tabelle mit drei Indizes versehen, um hinsichtlich der Kombination aus allen drei Felder eine Einmaligkeit (also Verhinderung von Dubletten) zu erzielen. Die möglicherweise daraus resultierende Schlüsselverletzung soll mit der Error-Routine gesteuert werden. Das klappt auch soweit, jedoch wird nach Ausgabe der MsgBox "Schlüsselverletzung Doppeleingabe" in den nächsten Datensatz gesprungen und die Dublette unvollständig abgespeichert. Es soll jedoch der fehlerhafte Datensatz (also die Dublette) gar nicht gespeichert werden, dass dachte ich, bekäme ich mit UNDO hin. Dem war aber nicht so. Hat jemand eine Idee, wie ich verhindere, dass die Dublette unvollständig weggeschrieben wird? Vorab vielen Dank!

Private Sub Form_AfterUpdate()

On Error GoTo Err_Form_AfterUpdate

Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.Bookmark = Me.Bookmark
rs.Edit
rs!Änderungsdatum = Now
rs!WindowsBenutzerName = Environ("Username")
rs.Update
Set rs = Nothing

DoCmd.RunMacro "Adressgenerierung", , ""

Exit_Form_AfterUpdate:
Exit Sub

Err_Form_AfterUpdate:
Response = acDataErrContinue
MsgBox "Sie haben bereits für diesen Kunden eine Anfrage gestellt!" & vbCrLf & vbCrLf & "Somit ist eine erneute Anfrage nicht möglich!", vbOKOnly + vbInformation, "Schlüsselverletzung (Doppeleingabe)!"
Me.Undo
Resume Exit_Form_AfterUpdate

End Sub
Top of the page Bottom of the page