【发布时间】:2017-08-25 07:40:52
【问题描述】:
我正在使用访问和 VBA。至于现在,我正在尝试使用 SQL 语句创建查询。 我有一堆桌子,它们最后都被命名为“innen”,并且它们在开始时有所不同。这些表中的每一个都包含列名“OP”(还有其他字段名)。现在我的目标是选择名称包含“%innen”和列名“OP”的所有表。到目前为止我试过这个:
Sub Aktuell()
Dim strSQL As String
Dim db As DAO.Database
Set db = CurrentDb
Dim qdf As QueryDef
strSQL = "SELECT [*].OP FROM MSysObjects WHERE TABLE_NAME LIKE '%innen' ORDER BY MAX;"
db.Execute strSQL
Set qdf = CurrentDb.CreateQueryDef("NewQuery8", strSQL)
DoCmd.OpenQuery qdf.Name
End Sub
我在这里也试过这个:
strSQL = "SELECT * " & _
"FROM INFORMATION_SCHEMA.TABLES " & _
"WHERE COLUMN_NAME = 'OP_Datum';"
但我不断收到错误。
有什么想法吗?它甚至可以通过 vba 使用 sql 语句吗?
【问题讨论】:
-
但我不断收到错误。 .... 什么错误??
-
在您的问题中,您写道您正在寻找名为
OP的列,但您的第二个查询显示搜索列OP_Datum。哪一个是正确的? -
您有阅读权限吗?检查stackoverflow.com/questions/1937703/…
-
是的,它实际上是 OP_Datum,我的坏哈哈。试图让它尽可能简单
-
你需要使用SQL吗?您还可以使用 VBA 并循环遍历所有 TableDef,然后遍历每个 TableDef 的字段...