通过ADO访问称为存储过程的查询无法从链接表中检索

我试图从Excel 2007中使用VBA在Access 2007数据库中执行查询作为存储过程。 查询从通过ODBC DSN链接的几个MS SQL表中检索数据。 Windows NT authentication with Trusted_Connection=Yes完成外部表的Windows NT authentication with Trusted_Connection=Yes

我已经尝试用用户和系统DSN连接到链接的表 – 当我从Access 2007运行查询时,任何一种方式都可以正常工作。

当我尝试在Excel中使用VBA时,不会检索应该来自Windows已validation表的数据。 我能够从使用存储的UID的一组链接的MS SQL表中检索数据。

这是我使用的连接string:

 strDB = xlWb.Path & "\database\dbQueries.accdb" conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & strDB & ";" 

这里是部分成功的命令(来自UIDauthentication表的数据):

 With cmd2 .ActiveConnection = conn .CommandText = "qryAppendtblOutput" .CommandType = adCmdStoredProc .Parameters.Append cmd2.CreateParameter("[Start Date]", adDBDate, adParamInput, , startDate) End With cmd2.Execute 

首先十分感谢!

我已经能够通过切换到Access ODBC驱动程序而不是OLE DB提供程序来解决此问题。 我改变了我的连接string:

 strDB = xlWb.Path & "\database\dbQueries.accdb" conn.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};" & _ "Dbq=" & strDB & ";" & _ "Trusted_Connection=Yes;" 

然后,我所要做的就是调整Access中底层查询的语法,以满足这个驱动程序的要求(我不得不用单引号replace所有的双引号)。

非常感谢所有谁回顾我的问题:)!