我有以下代码:
Private Sub Command66_Click()
DoCmd.SetWarnings False
DoCmd.DeleteObject acTable, "Table1"
DoCmd.DeleteObject acTable, "Table2"
DoCmd.DeleteObject acTable, "Table3"
DoCmd.SetWarnings True
End Sub
问题是,如果“Table1”不存在,我会收到 VBA/调试错误。我可以添加一些条件,即如果脚本找不到“Table1”,它应该进一步删除其他 2 个表而不返回任何错误消息?
最佳答案
你的意思是错误捕获?以下是如何“捕获”错误的示例 - 如果尝试删除 Table1 时发生错误,它会询问您是否要继续:
Private Sub Command66_Click()
DoCmd.SetWarnings False
On Error Resume Next
DoCmd.DeleteObject acTable, "Table1"
If Err.Number > 0 Then
Err.Clear
On Error GoTo 0
If MsgBox("There was an error trying to delete Table1, do you want to continue?", vbYesNo) = vbYes Then
DoCmd.DeleteObject acTable, "Table2"
DoCmd.DeleteObject acTable, "Table3"
End If
End If
DoCmd.SetWarnings True
End Sub
关于ms-access - MS Access/VBA : add if condition to vba code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042112/