gpt4 book ai didi

vba - 删除VBA中的所有链接表

转载 作者:行者123 更新时间:2023-12-02 20:45:14 42 4
gpt4 key购买 nike

我需要删除 Access 数据库中链接的所有表。

这是返回所有链接表(odbc 和 access 链接表)的查询:

SELECT [MSysObjects].[Name]
FROM MSysObjects
WHERE Left([Name],1) <> "~" AND (MSysObjects.Type = 6 OR MSysObjects.Type = 4)
ORDER BY MSysObjects.Name;

但现在我想我必须做 for each有了这个DoCmd.DeleteObject acTable, Table.name为了关闭我所有的 table ,但我不知道该怎么做。

最佳答案

For Each 以无序序列迭代集合,并且在迭代期间删除该集合中的对象是您遇到错误的原因。

我建议您以相反的顺序按有序序列迭代集合,以使用以下方法删除 TableDef 对象:

Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Set dbs = CurrentDb
For index = dbs.TableDefs.Count – 1 To 0 Step -1
Set tdf = dbs.TableDefs(index)
If Left(tdf.Connect, 5) = "ODBC;" Then
DoCmd.DeleteObject acTable, tdf.Name
End If
Next index

关于vba - 删除VBA中的所有链接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44699686/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com