到 SQL 服务器的 MS Access 通用直通查询
MS Access Generic Pass-Through Query to SQL Server
我在 MS Access 中成功设置了传递查询。从某种意义上说,它是通用的,我可以通过 DAO.QueryDef ".SQL" 属性.
即时设置 SQL
问题是,我似乎无法即时设置“.ReturnsRecords”属性。查询的 属性 Sheet 中的任何内容似乎都卡在那里。
一个例子可能会有帮助:
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.QueryDefs(gPassThru)
qdef.ReturnsRecords = False ' or True
qdef.SQL = "exec dbo.sp_whatever"
重申一下,
qdef.SQL 替换传递查询中的任何 SQL
qdef.ReturnsRecords 不替换 属性 sheet 传递的定义
是否有任何方法可以使查询完全通用,或者我是否需要根据是否返回记录创建单独的查询?
这似乎可以解决问题 -- 至少在我不需要返回任何记录的情况下。感谢 C Perkins 指导我朝这个方向发展。
Dim strSQL As String
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.CreateQueryDef("") 'temporary pass-through
strSQL = "exec dbo.sp_whatever"
With qdef
.Connect = gConnect
.SQL = strSQL
.ReturnsRecords = False
.Execute
End With
Set qdef = Nothing
我在 MS Access 中成功设置了传递查询。从某种意义上说,它是通用的,我可以通过 DAO.QueryDef ".SQL" 属性.
即时设置 SQL问题是,我似乎无法即时设置“.ReturnsRecords”属性。查询的 属性 Sheet 中的任何内容似乎都卡在那里。
一个例子可能会有帮助:
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.QueryDefs(gPassThru)
qdef.ReturnsRecords = False ' or True
qdef.SQL = "exec dbo.sp_whatever"
重申一下,
qdef.SQL 替换传递查询中的任何 SQL
qdef.ReturnsRecords 不替换 属性 sheet 传递的定义
是否有任何方法可以使查询完全通用,或者我是否需要根据是否返回记录创建单独的查询?
这似乎可以解决问题 -- 至少在我不需要返回任何记录的情况下。感谢 C Perkins 指导我朝这个方向发展。
Dim strSQL As String
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.CreateQueryDef("") 'temporary pass-through
strSQL = "exec dbo.sp_whatever"
With qdef
.Connect = gConnect
.SQL = strSQL
.ReturnsRecords = False
.Execute
End With
Set qdef = Nothing