Error handling
Det med error handling i VBA synes jeg ikke er SÅ nemt igen...Koden:
***************************************************************
Option Compare Database
Option Explicit
Private Sub Form_Open(Cancel As Integer)
On Error GoTo Form_Open_Error
fRunSQL "DELETE * FROM tblMinTabel1"
fRunSQL "DELETE * FROM tblMinTabel2"
fRunSQL "DELETE * FROM tblMinTabell3"
fRunSQL "DELETE * FROM tblMinTabel4"
fRunSQL "DELETE * FROM tblMinTabel5"
DoCmd.Close acForm, Me.Name
Raise
MsgBox "Alle data slettet!", vbInformation
Exit Sub
Form_Open_Exit:
Exit Sub
Form_Open_Error:
MsgBox "Der opstod følgende fejl i programmet: " & vbCrLf & Err.Number & " - " & Err.Description, vbInformation
fErrorLog Err.Number, Err.Description
Resume Form_Open_Exit
End Sub
Private Function fRunSQL(strSQLString As String)
On Error GoTo Form_Open_Error
DoCmd.SetWarnings False
DoCmd.RunSQL strSQLString
DoCmd.SetWarnings True
Exit Function
Form_Open_Exit:
Exit Function
Form_Open_Error:
MsgBox "Der opstod følgende fejl i programmet: " & vbCrLf & Err.Number & " - " & Err.Description, vbInformation
fErrorLog Err.Number, Err.Description
Resume Form_Open_Exit
End Function
***************************************************************
I ovenstående kode er tblMinTabell3 "stavet forkert" for at fremprovokere en fejl. Denne fejl fanges i fRunSQL og en fejlmeddelelse vises, men så fortsætter rutinen og til sidst vises "Alle data slettet!", selvom en af tabellerne "ikke blev fundet".
Hvordan skulle ovenstående se ud, hvis jeg vil have vist fejlmeddelelsen og samtidig hvilke tabeller data rent faktisk blev slettet fra? (uden brug af 5 MsgBox'es!)
"Nested error handling..."
