设置要通过 Citrix 打开的访问项目。但是,有一些 VBA 代码会阻止它工作:
Dim rs As ADODB.Recordset
Set rs = CurrentProject.Connection.Execute("Query")
该.Connection
位被突出显示。当它不是通过 Citrix 打开时(即仅在用户桌面上),这可以工作。
问题是由于 Citrix 服务器没有最新的 Jet Service Pack for Access。
我对 ADO 没有很多经验,但我认为存在某种引用问题。或者您在系统上引用的 ADO 版本比 Citrix 框上可用的更新版本。运行以下代码并回传结果。
Sub ViewReferenceDetails()
Dim ref As Reference
For Each ref In Access.References
Debug.Print ref.Name & " - " & ref.Major & "." & ref.Minor & " - " & ref.FullPath
Next ref
End Sub
此外,当您声明 Access 项目时,您是指针对 SQL Server 的 ADP 还是针对 Access 数据文件的 MDB/ACCDB?
你的代码在我看来是错误的。rs 对象不应该是记录集吗?
IE
Dim rs As ADODB.Recordset
'Instead of
Dim rs As ADODB.Connection
代码根本不应该运行 - 您应该收到类型不匹配错误。