任何人都可以帮助我理解为什么Microsoft.Ace.OLEDB.16.0在使用Office 2016 x86的Windows 10 x64上不起作用?
使用以下代码打开与-2147467259 (80004005)
的连接时,我收到运行时错误OLEDB 16.0
:
Public Sub ValidityDateCheck_SRT_Templates()
NameFile = "x"
sConn = "Provider=Microsoft.ACE.OLEDB.16.0;WSS;IMEX=1;RetrieveIds=Yes;" & _
"DATABASE=" & sSHAREPOINT_SITE & ";" & _
"LIST=" & sDEMAND_ROLE_GUID_ML & ";"
Set cn = New ADODB.Connection
Set rst = New ADODB.Recordset
With cn
.ConnectionString = sConn
.Open '--> **HERE I GET THE ERROR**
End With
Rs = "SELECT * FROM [Template Library];"
rst.Open Rs, cn, adOpenStatic, adLockOptimistic
Do Until rst.EOF
If Left(rst![Name], InStr(1, rst![Name], "#") - 1) = TemplateID Then
NameFile = rst![Name]
On Error GoTo Skip
ActualVdate = rst![Validity Date]
TransVdate = rst![Transition Period End]
Exit Do
Else
rst.MoveNext
End If
Loop
Skip:
rst.Close
在DEBUG中,如果我首先使用12.0然后更改为16.0并保存,那么它将打开它。然后,如果我重新打开文件,我会得到同样的错误。 请帮帮我们。
答案 0 :(得分:0)
您使用的是VBA吗?如果是这样,请确保您已在参考菜单上启用了Microsoft ActiveX Data Objects 6.1库。
答案 1 :(得分:-2)
试试这个;
cn.Open“Provider = Microsoft.Ace.OLEDB.16.0;” &安培; _ “数据来源=”& UserForm2.TextBox32.Text& “; Jet OLEDB:Database Password = 1101010; Persist Security Info = False;”