我有一个包含多种形式,表格和一堆VBA代码的数据库,该数据库在Win7和Office 2010 32bit上已经运行多年。基本上,这是一个客户列表,用户可以在其中添加/编辑文本框中的注释,在列表框中添加/更改状态等。现在,当迁移到Win10和Office 2016 32bit时,我尝试执行任何操作时都会出现提供程序错误需要更新记录集。产生错误的部分是cmd。执行以下代码:
Function ConnectDatabase()
On Error GoTo err
Set dbConnection = CurrentProject.AccessConnection
Exit Function
err:
MsgBox (err.Description)
End Function
Public Sub executeAdodbCommand(sql As String, Optional cmd As ADODB.Command)
On Error GoTo err
If ADODB_Connected_OLE_DB(dbConnection) = False Then
ConnectDatabase
End If
If cmd Is Nothing Then
Set cmd = New ADODB.Command
End If
With cmd
.ActiveConnection = dbConnection
.CommandType = adCmdText
.CommandText = sql
End With
cmd.Execute
Set cmd = Nothing
Exit Sub
err:
MsgBox (err.Description)
End Sub
我对表单所做的任何操作都会产生错误:执行提供程序命令时数据提供程序失败。我已经使用Debug.Print来检查dbConnection.State是否为adStateOpen,.Provider为Microsoft.Access.OLEDB.10.0,.Properties(“数据提供者”)为Microsoft.ACE.OLEDB.12.0,err.source为“ MSDataShape” 。另外,我已经在Win10和Office 2016 64位个人笔记本电脑上测试了该程序,它的工作原理很吸引人。我已经检查了工具-参考,它们在所有3台机器上都是相同的。我只能得出结论,这是驱动程序,而不是编码问题,但我不知道缺少了什么,找不到任何解决该错误的解决方案。也许你们有想法让它在我的笔记本电脑上运行?任何帮助深表感谢!