Es ist nie eine gute Idee, die DoCmd.RunSQL
da es eine Eingabeaufforderung generiert (die Sie abschalten müssen, wenn Sie sie nicht wünschen) und die Aktualisierungen auch dann abschließt, wenn Fehler auftreten, und die Fehler nicht meldet. Viel besser ist es, sie durch eine Funktion zu ersetzen, die das gleiche SQL ausführt:
Public Function SQLRun(strSQL As String) As Boolean
On Error GoTo errHandler
CurrentDB.Execute strSQL, dbFailOnError
SQLRun= True
exitRoutine:
Exit Function
errHandler:
MsgBox err.Number & ": " & err.Description, vbExclamation, "Error in SQLRun()"
Resume exitRoutine
End Function
Sobald Sie dies in einem öffentlichen Modul platziert haben, können Sie einfach eine globale Suche und Ersetzung für DoCmd.RunSQL
zu ersetzen durch SQLRun
.
EDIT: Eine andere Version dieser Funktion, die die Anzahl der betroffenen Datensätze zurückgibt, ist これ .