【发布时间】:2014-12-18 23:28:48
【问题描述】:
在 With 语句中,“.Open”行出现错误。
我试图确保正确定义所有引用。还有什么可能导致问题? 感谢您的专业知识。
Option Explicit
Sub ConnectTODB2()
'early binding
Dim CustomerTEST As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sqlText As String
Dim ConStrAccess As String
Set CustomerTEST = New ADODB.Connection
ConStrAccess = "Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Users\YacubDavid\Desktop\CIC SOD TOOL 2011 GBW.mdb;Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False"
CustomerTEST.Open ConStrAccess
sqlText = "select * FROM 50 GBW People;"
Set rs = New ADODB.Recordset
rs.Open sqlText, CustomerTEST, adOpenForwardOnly, adLockReadOnly, adCmdText
'Worksheets.Add
'Range("A2").CopyFromRecordset rs
rs.Close
CustomerTEST.Close
Set CustomerTEST = Nothing
结束子
【问题讨论】:
-
将有助于包含实际的错误消息,但猜测:
Set .ActiveConnection = CustomerTEST -
你能发布你的连接字符串吗?如果这不正确,您将永远无法成功打开数据库连接。
-
感谢您的回复!我应该补充一点,我试图从 excel 连接到访问数据库(2010)。错误消息还说这是一个运行时错误 - 无效的 SQL 指令。需要 DELETE、INSERT、SELECT、PROCEDURE 或 UPDATE。
标签: excel vba connection-string adodb recordset