vba - 如果表存在,如何删除?

标签 vba ms-access

我使用 MS Access 宏和查询来构建我的应用程序。我使用一些临时导入文件,需要运行宏或一些 VBA 来测试它们是否存在,如果存在,则删除它们。
我的表名是“TempImport1”
我已经通过谷歌搜索对此进行了研究,并且有一些可能有用的 VBA。我过去在一个按钮下剪切/粘贴了 VBA 代码,它可以工作,但这次不行。如何将代码放入模块或单击子按钮?

Function IsTable(sTblName As String) As Boolean
    'does table exists and work ?
    'note: finding the name in the TableDefs collection is not enough,
    '      since the backend might be invalid or missing

    On Error GoTo TrapError
    Dim x
    x = DCount("*", sTblName)
    IsTable = True
    Exit Function
TrapError:
    Debug.Print Now, sTblName, Err.Number, Err.Description
    IsTable = False

End Function

最佳答案

删除临时导入1 表如果存在,只需使用以下函数。

Function DeleteTables()

    If Not IsNull(DLookup("Name", "MSysObjects", "Name='TempImport1' AND Type = 1")) Then
    DoCmd.DeleteObject acTable, "TempImport1"
    End If

End Function

创建函数后,创建宏,添加操作运行代码,然后输入 DeleteTables()在函数名称中。
然后,您可以运行一个宏来删除该表(如果存在)。

关于vba - 如果表存在,如何删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43833709/

相关文章:

vba - 使用 Excel VBA 查找列匹配并根据其他两列的值进行合并

vba - 复制工作表中的所有内容vba

引用 PowerPoint 幻灯片时 Excel 崩溃

vba - 从选定的列表框在 Access 子表单中显示查询

ms-access - 为表定制自动编号 ID?

vba - Excel VBA - 从第 2 行向下清除列内容

vba - 如果我更改宏代码中的任何内容,Excel会继续崩溃

database - MS Access VBA 检查确认选项是否被选中

mysql - 将 Access 查询中的文本框值转换为mysql

database - Microsoft Access 查找组中的第二个、第三个、第 N 个元素