2013-11-29 414 views
2

我想使用ADODB将Visual Basic连接到MS Access。但是当我执行我的代码时,它会提示:“无法找到提供程序,可能安装不正确。”但是当我检查我的目录时,我已经安装了我的“msjetoledb40.dll”。运行时错误'3706':提供程序找不到-Visual基本

这里是我的代码:

Dim conn As ADODB.Connection, rec As ADODB.Recordset 

    Sub sample() 

    Set conn = New ADODB.Connection 

    conn.Open ("Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\sample.mdb;Persist Security Info=false;") 
End Sub 
+0

我有同样的错误!在我的情况下,我尝试使用安装有Office 365 Excel VB脚本的Oracle 11g连接到Sql数据库。我已经安装了MDAC驱动程序,仍然问题尚未解决。 –

回答

3

这会更好:

Sub sample() 

    Dim conn As ADODB.Connection, rec As ADODB.Recordset 
    Set conn = New ADODB.Connection 
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\sample.mdb;" 
    conn.Open 
End Sub 

你错过了一个点。

Microsoft.Jet.OLEDB 4.0 => Microsoft.Jet.OLEDB.4.0

价:http://www.connectionstrings.com/

+0

哦!如何一个'。'可能会破坏你的代码。谢谢,这是我的另一个教训。 – Kentot

+0

我们都从这种情况中学习。 – jacouh

0

我的解决办法:15.0

cs = "Provider=Microsoft.ACE.OLEDB.15.0;Data Source=" & sPath & ";Persist Security Info=False;" 

和作品

错误3706

cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;" 

只是改变12.0,永远是你必须尝试改变控制器的版本!

0

确认运行该脚本的MS Office的版本。

Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\sample.mdb;Persist Security Info=false; 

到:如果您已经安装了微软Office 2013或更高版本,您应该修改连接字符串

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\sample.mdb;Persist Security Info=false; 

至少,这sovled我的问题。

相关问题