| Meine lieben Accessprogrammierer,
ich prüfe in einer Access 2010-Filmdatenbank beim Anlegen eines neuen Personendatensatzes mit folgender VBA-Prozedur, ob eine bestimmte Person schon erfaßt wurde:
__________________________________________________________________________________________________________
Private Sub cboNachname_BeforeUpdate(Cancel As Integer)
Dim Mldg As String
Dim Stil As String
Dim Titel As String
Dim Antwort As String
Mldg = "Der Name ist schon vorhanden, möchten Sie ihn wirklich doppelt anlegen?"
Stil = vbYesNo + vbCritical + vbDefaultButton2
Titel = "Personenkontrolle!"
If DCount("*", "tblPersonen", "Nachname = '" & Me.Nachname & "'" & " AND Vorname = '" & Me.Vorname & "'") <> 0 Then
Antwort = MsgBox(Mldg, Stil, Titel)
If Antwort = vbNo Then
Cancel = True
SendKeys "{ESC}{ESC}"
SendKeys "{UP}{DOWN}{LEFT}"
End If
End If
End Sub
____________________________________________________________________________________________________________
Diese Prozedur wird vor dem Aktualisieren des Nachnamens ausgeführt.
Das funktioniert auch meist tadellos. Probleme gibt es aber bei Namen, die ein Hochkomma enthalten. Will ich z.B. eine Person namens „Karl“ (Vorname) „O’Henry“ (Nachname) eingeben, kommt folgende Fehlermeldung:
Laufzeitfehler '3075':
Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Nachname = O'Henry' AND Vorname = 'Karl".
Wie kann ich die Eingabe eines Names mit Hochkomma zulassen ohne auf die Duplikatprüfung in der obengenannten Form verzichten zu müssen? |