通过 VBA 创建一个带有 DAO 和 ODBC 连接的直通 QueryDef
Create a passthrough QueryDef with DAO and a ODBC-Connection by VBA
我的目标是通过 vba 创建一个 QueryDef,这与我在 GUI 中创建的相同。
这是我在 GUI 中使用的步骤:
- 创建查询
- 设置为直通
- 设置ODBC连接字符串
- 输入语句
如何通过 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 项中:
Debug.Print qdfTmp.Properties.Item(6).Name
> Connect
你可以找到其他设置alos,但我不知道如何设置VBA。
简单的方法是创建并检查一个PT查询,然后保存它,为这个表格保留它,并设置将此查询作为其 RecordSource 的表单。
要使用它,您只需根据需要调整 SQL:
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("ThisFormPTQuery")
qdf.SQL = "select * from test;"
然后打开表格。
编辑:
要创建 "master" 查询的副本:
DoCmd.CopyObject , "NewQuery", acQuery, "MasterQuery"
我的目标是通过 vba 创建一个 QueryDef,这与我在 GUI 中创建的相同。
这是我在 GUI 中使用的步骤:
- 创建查询
- 设置为直通
- 设置ODBC连接字符串
- 输入语句
如何通过 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 项中:
Debug.Print qdfTmp.Properties.Item(6).Name
> Connect
你可以找到其他设置alos,但我不知道如何设置VBA。
简单的方法是创建并检查一个PT查询,然后保存它,为这个表格保留它,并设置将此查询作为其 RecordSource 的表单。
要使用它,您只需根据需要调整 SQL:
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("ThisFormPTQuery")
qdf.SQL = "select * from test;"
然后打开表格。
编辑:
要创建 "master" 查询的副本:
DoCmd.CopyObject , "NewQuery", acQuery, "MasterQuery"