Ich habe versucht, ein Outlook-Aufgabenelement über Access und einen Laufzeitfehler 440 durch eine benutzerdefinierte Nachricht ersetzen. Dieser Fehler trat auf, wenn ein bestimmtes Feld (me.dueBy) leer war. Momentan ist der Code, den ich habe, erfolgreich beim Erstellen einer Aufgabe für Datensätze mit dueBy-Daten, aber wenn ich auf die Schaltfläche für einen Datensatz ohne Fälligkeitsdatum klicke, passiert nichts. Keine Nachrichtenbox, kein Fehler, nichts.Zugriff vba Ersetzen Laufzeitfehler durch benutzerdefinierte Nachricht
Ich brauche nur ein Meldungsfeld, das mir sagt, dass ich ein Fälligkeitsdatum benötige, um eine Aufgabe zu setzen, wenn dieses Feld leer ist.
Private Sub Command15_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim DataErr As Integer
Dim Response As Integer
On Error GoTo err_handler
Set db = CurrentDb
Set rs = db.OpenRecordset("tblActions")
Set outLookApp = CreateObject("outlook.application")
Set OutlookTask = outLookApp.CreateItem(olTaskItem)
With OutlookTask
.Subject = "Action Due Date: " & Me.dueBy & " for Contract ID " & Me.contractID
.Body = "Due date for Action: < " & Me.actionNote & " > is " & Me.dueBy & "."
.ReminderSet = True
.ReminderTime = Me.dueBy + TimeValue("8:00:00 AM")
.Save
End With
MsgBox "Action Task has been set in Outlook successfully."
exit_err_handler: Exit Sub
err_handler:
If DataErr = 440 Then
Response = acDataErrContinue
MsgBox "Due date is required.", vbOKOnly, "Due date Error"
End If
Resume exit_err_handler
Set rs = Nothing
Set db = Nothing
End Sub
Ich denke, Sie müssen einen anderen Fehlerhandler innerhalb der Outlook-Task festlegen, da der Fehler von Outlook nicht zurückgegeben werden würde. – Minty