我是 VBA 新手,在使用带有连接对象的 createQueryDef 方法时遇到问题。
我只是想从 SQL Server 数据库中的表创建一个查询,只是为了让数据出现在 Access 中。我打开了连接,然后尝试使用 createQueryDef 方法,但它给了我一个运行时错误:
“参数类型错误、超出可接受范围或相互冲突”
这是代码:
Sub connect()
Dim conn As ADODB.Connection
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=SQLOLEDB;" & _
"Data Source=MyDataSource;" & _
"User Id=MyUserID;" & _
"Password=MyPassword;" & _
"initial catalog=MyDatabase;"
conn.Properties("Prompt") = adPromptAlways
conn.Open
Dim qd As QueryDef
Set qd = conn.CreateQueryDef("test", "SELECT * FROM Mytable")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "test", "C\MyFolder\test.xls"
rs.Close
conn.Close
Set conn = Nothing
End Sub
我收到以下错误:
Set qd = conn.CreateQueryDef("test", "SELECT * FROM Mytable")
如果您有另一种方法来显示有效访问表中的数据,我也感谢您的帮助,因为这正是我想要的