ms-access - MS Access/VBA : add if condition to vba code

标签 ms-access vba ms-access-2013

我有以下代码:

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/

相关文章:

database - 如何计算日期但排除 Microsoft Access 中的周末?

ms-access - 的意思 !和 。 Access 对象和属性时

c# - 将 byte[] 作为文件打开,而不是首先将其实际保存为文件

excel - 多个模块和子程序之间的错误处理

vba - 使用 VBA 向多个收件人发送电子邮件

sql - Access SQL 似乎将日期视为 dd/mm/yyyy?

excel - 是否能够在保留相邻列的值的同时拆分单元格?

ms-access - 关闭前提示

vba module.find 带换行符(Ms access 2013)

ms-access - 在Microsoft Access 2013中,如何获取当前ODBC连接的用户名?