我正在尝试创建一个数据库,它只是收集一堆其他不相关的链表,查询每个表,然后最终创建一个联合查询。
为了加快这个过程,我想创建一个允许用户首先自动链接表格的表单,查询将拉出表格列表,然后可以通过组合框在下拉菜单中选择。
现在,代码的下一部分应该根据组合框中选择的内容自动创建查询,但我不知道该怎么做。 IE:
Dim var1 As Object
Dim qdf As QueryDef
Dim sql As String
Dim db As Database
Set db = CurrentDb
Set var1 = Me.Combo3
Set qdf = db.CreateQueryDef("newQuery1", "SELECT * FROM var1")
最终发生的是它创建了一个名为“Var1”的表,它显然不存在。我想要它而不是创建一个从下拉列表中选择的任何表的相同名称的查询我认为这是一个非常基本的问题,但我是Access / VBA的新手。
答案 0 :(得分:0)
在我看来,你所需要的只是:
Dim qdf As QueryDef
Set qdf = CurrentDb.CreateQueryDef("newQuery1", "SELECT * FROM [" & Me.Combo3 & "]")
如果您想要创建一个查询名称为表名的查询:
Dim qdf As QueryDef
Set qdf = CurrentDb.CreateQueryDef(Me.Combo3, "SELECT * FROM [" & Me.Combo3 & "]")
但是你会收到一个错误,因为你不能有一个名为相同的表和查询。