我们最近创建了 Access DB 后端并将其迁移到 SQL Server。我正在尝试使用 VBA 代码创建与 SQL Server 后端的连接并运行直通查询,并将结果存储在 VB 记录集中。当我尝试这个时,查询没有通过。
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strConnect As String
strConnect = "DRIVER=SQL Server;SERVER=55.55.55.55 SQLExpress;UID=UserName;PWD=Password"
Set db = OpenDatabase("DBName", dbDriverNoPrompt, True, strConnect)
Set rs = db.OpenRecordset("SELECT GetDate() AS qryTest", dbOpenDynaset)
MsgBox rs!qryTest
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
我遇到的问题是完全合适的GetDate()
SQL Server 函数正在返回运行时错误 3085“表达式中的用户定义函数 'GetDate'”。如果我在 MS-Access 查询生成器中创建与传递相同的查询,在 VBA 代码之外,它运行良好并返回服务器日期和时间,只有在代码中它没有正确传递。