VBA Code in Access - Undo funktioniert nicht
LKro1976
Gesendet: 12.11.15 21:49
Betreff: RE: VBA Code in Access - Undo funktioniert nicht


Member

Beiträge: 22

Vielen Dank für die Antwort. Ich habe somit mein Vorhaben wie folgt angepasst.

Private Sub Form_BeforeUpdate(Cancel As Integer)
[WindowsBenutzerName] = Environ("Username")
DoCmd.RunMacro "Makro1", , ""
End Sub

Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then
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
End If
End Sub

Access ergänzt nun vor dem Speichern den Windows-Benutzer-Namen. Prüft dann, ob eine Schlüsselverletzung vorliegt, wenn ja, erfolgt ein UNDO. Das klappt sehr gut.

Jetzt zu meinem Problem:

Der eindeutige Schlüssel der Tabelle (er soll Dublikate verhindern) besteht aus Ordnunsgbegriff1, Ordnungsbegriff2, WindowsBenutzerName.

Ich gebe im Formular nur den Ordnungsbegriff1 an. Der Windows-Benutzer-Name wird in der o. g. Funktion ermittelt. Das klappt. Der Ordnunsgbegriff2 wird im Makro1 ermittelt, welches aus einer Aktualisierungsabfrage besteht. Nur diese Aktualsierungsabfrage findet in diesem Erfassungsstadium noch nichts, da der aktuelle Datensatz ja noch nicht in der Tabelle gespeichert wurde.

Ich kann ihn aber nicht vorab speichern, da ohne den Ordnungsbegriff2 der Schlüssel nicht abgeprüft werden kann, ob eine Speicherung überhaupt zulässig ist.

Was kann ich tun? Für Hilfe wäre ich sehr dankbar.
Top of the page Bottom of the page