我的目标是通过vba创建QueryDef,与在GUI中创建的相同。
这是我在GUI中使用的步骤:
如何通过VBA进行设置,并以当前形式将queryDef用作RecordSource?
Dim qdf As QueryDef
Set qdf = CurrentDb.CreateQueryDef("test", "select * from test;")
'passthrough?
'connection string?
'set as RecordSource?
我发现,有一个Properties-Collection。当我调查一个GUI查询时,我发现在第6项中有connection-String:
Debug.Print qdfTmp.Properties.Item(6).Name
> Connect
您可以找到其他设置alos,但我不知道如何使用VBA进行设置。
答案 0 :(得分:0)
简单的方法是创建并检查一个PT查询,然后保存,将其保留给该表单,然后将表单设置为将该查询作为其RecordSource
要使用它,您所需要做的就是根据需要调整SQL:
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("ThisFormPTQuery")
qdf.SQL = "select * from test;"
,然后打开表单。
修改:
要创建“主”查询的副本,请执行以下操作:
DoCmd.CopyObject , "NewQuery", acQuery, "MasterQuery"