运行时错误“3706”:找不到提供程序

Run time error '3706': Provider cannot be found

提问人:james amatrais 提问时间:10/20/2023 更新时间:10/20/2023 访问量:85

问:

我遇到了很多关于这个主题的问题,但似乎没有什么适合我的代码。

我已经添加了 ACE 提供程序和喷气机提供程序,它们都不起作用,这是我的代码。

Dim err As Integer
Dim cnn1 As ADODB.Connection
Dim rstMoneyCounter_T As ADODB.Recordset
Dim strCnn
Dim mydb As String

'Check that all fields are filled in
txtCashboxbalance.SetFocus
If txtCashboxbalance.Text = "" Then
err = err + 1
MsgBox "Please fill in the name box!" & err
End If


'if no errors insert data
If err < 1 Then
' Open a connection.
    Set cnn1 = New ADODB.Connection
    mydb = "C:\Users\Administrator\Desktop\Admin CEC\BOH Admin\BOH Admin2.0.accdb"
    strCnn = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mydb
    cnn1.Open strCnn
    
' Open Money counter table table.
    Set rstMoneyCounter_T = New ADODB.Recordset
    rstMoneyCounter_T.CursorType = adOpenKeyset
    rstMoneyCounter_T.LockType = adLockOptimistic
    rstMoneyCounter_T.Open "MoneyCounter_T", cnn1, , , adCmdTable

我所需要的只是从未绑定的表单到表格的数据。 我使用未绑定表单的原因是因为它只是暂时的,只是为了计算和预览输入的信息。

已安装的 vba 开发工具中的可用参考 Office 产品已安装

数据库 vb.net ms-access 运行时错误

评论

2赞 HansUp 10/20/2023
在 Access 中打开。然后转到“即时”窗口(Ctrl+g 将带您进入该窗口),粘贴此突出显示的代码,然后按 Enter: 在连接字符串中使用相同的提供程序,---它必须是 ACE 版本,因为 JET 提供程序无法处理 ACCDB 数据库格式。BOH Admin2.0.accdbDebug.Print CurrentProject.Connection.Provider
0赞 nbk 10/20/2023
4.0 非常非常古老。你有这么旧的数据库吗?您可以为每个版本找到一个驱动程序
1赞 jmcilhinney 10/20/2023
这真的 VB.NET 代码吗?对我来说看起来更像 VB6。
2赞 jmcilhinney 10/20/2023
如果那是 VB6,那么我假设您的应用程序是 32 位的。我认为您可以在 VB6 中创建 64 位应用程序,但不确定如何创建的详细信息。如果安装了 64 位 Office,则你的应用与已安装的提供程序不兼容。如果您的应用是 32 位的,则需要安装 32 位提供程序。如果随 Office 一起安装了 64 位提供程序,则需要安装 32 位独立提供程序。

答: 暂无答案