VBA错误记录集,.open不起作用
在With语句中,我在“.Open”行上得到一个错误。VBA错误记录集,.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
末次
更新12/20:把[]周围表名。另一种选择是使用以下方法:
Option Explicit
Sub ConnectTODB()
'early binding
Dim CustomerTEST As ADODB.Connection
Dim rs As ADODB.Recordset
Dim r As Range
Dim ConStrAccess As String
Dim sqlText As String
Set CustomerTEST = New ADODB.Connection
ConStrAccess = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Users\YacubDavid\Desktop\xyz SOD TOOL 20x1 abc.mdb;" & _
"Jet OLEDB:Engine Type=5;" & _
"Persist Security Info=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
End Sub
非常感谢您回复这些回复!我应该补充一点,我试图从excel连接到访问数据库(2010)。此外,错误消息表明这是一个运行时错误 - 无效的SQL指令。预期会有DELETE,INSERT,SELECT,PROCEDURE或UPDATE。 – 2014-12-19 06:38:14
此错误是否使用您的原始代码或我提供的代码?您需要查看SQL语法,因为这很糟糕。请发布您的实际SQL – 2014-12-19 14:37:27
再次感谢您的回复。我准确地输入了你的文字。现在我得到了错误信息:rs.Open sqlText,CustomerTEST,adOpenForwardOnly,adLockReadOnly,adCmdText。该错误消息表明我在FROM命令中有语法错误。接下来我会发布实际的代码。 – 2014-12-20 05:36:55
将有助于包括实际的错误信息,但在猜测:'设置.ActiveConnection = CustomerTEST' – 2014-12-18 23:33:23
您可以发布您的连接字符串?如果这不正确,您将无法成功打开数据库连接。 – 2014-12-18 23:33:36
非常感谢您的回复!我应该补充一点,我试图从excel连接到访问数据库(2010)。此外,错误消息表明这是一个运行时错误 - 无效的SQL指令。预期会有DELETE,INSERT,SELECT,PROCEDURE或UPDATE。 – 2014-12-19 06:41:16