Ich baue eine Datenbank für Krebsforschungszwecke. Ich habe ein Formular namens "inputPI_form" erstellt. PI steht für "Principal Investigator" alias Forscher. tblPI ist nur eine Tabelle mit Vor- und Nachnamen.MS-Access: Ich kann nicht herausfinden, warum die Fehlermeldung nicht angezeigt wird
Hier ist meine Form:
Wenn Sie auf die Schaltfläche "Speichern", können Sie den unteren Code ausführen.
Ich habe einen zusammengesetzten Schlüssel in tblPI mit beiden Namen erstellt, um doppelte Datensätze zu verhindern. Dieser Code vermeidet doppelte Datensätze, aber es gibt keine MsgBox zeigt sich:
'Add new PI's name and verify uniqueness with composite key'
Private Sub newPI_Button_Click()
'Declare duplication error number'
Const ERR_DUPLICATE_VALUE = 3022
On Error GoTo Err_Handler
'Declare database object and string variables'
Dim dbs As Database
Dim firstName As String
Dim lastName As String
'Capture firstName and lastName from inputPI_form as strings'
firstName = Forms("inputPI_form")!firstName.Value
lastName = Forms("inputPI_form")!lastName.Value
'Set the dbs object'
Set dbs = CurrentDb
'Excute SQL code to create new record in tblPI by passing firstName and lastName values'
dbs.Execute "INSERT INTO tblPI (lastName, FirstName) VALUES " & _
"('" & lastName & "','" & firstName & "');"
'Update the PI selection combobox on inputProtocolForm'
Forms("inputProtocolForm")!selectionPI.Requery
dbs.Close
DoCmd.Close acForm, "inputPI_form"
Err_Handler:
If Err.Number = ERR_DUPLICATE_VALUE Then
MsgBox ("This PI's name is already taken. Please select another one.")
End If
End Sub
ich fangen Fehler in VBA nicht vertraut bin. Mache ich einen offensichtlichen Fehler? Ich würde das Feedback der Community sehr schätzen. Vielen Dank!
Versuchen Sie, Ihren Error Handler zu vereinfachen. Nehmen Sie die If-Anweisung heraus und ersetzen Sie sie durch eine einfache 'Msgbox Err.Nummer & Err.description'. Hast du bekommen, was du erwartet hast? – PowerUser
Eigentlich tat es !! So einfach! Wenn du deine Antwort postest, wähle ich sie !! Ich danke dir sehr!! – Johnathan
Froh, Hilfe zu sein :) – PowerUser