我们已从Windows 7升级到Windows 365。
我们在访问数据库中有一个宏。宏使用以下代码打开另一个数据库。但是,由于移动到Windows 365,它不喜欢 cn.open 行。
如何从Windows 365中的Access中连接到另一个数据库?
dim cn As ADODB.Connection
set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & pDBPATH & pDBNAME
错误信息是,
运行时错误3706:找不到提供程序。它可能没有正确安装。
虽然看完之后看起来像Microsoft Jet OLEDB 4.0不是64位。那还有另一种方式吗?
答案 0 :(得分:1)
在Access中,有许多方法可以连接数据库。
最常见的OLEDB连接提供商是var ranges = [CountableClosedRange<UInt32>]()
let bitmap: Data = characterSet.bitmapRepresentation
var first: UInt32?, last: UInt32?
var plane = 0, nextPlane = 8192
for (j, byte) in bitmap.enumerated() where byte != 0 {
if j == nextPlane {
plane += 1
nextPlane += 8193
continue
}
for i in 0 ..< 8 where byte & 1 << i != 0 {
let codePoint = UInt32(j - plane) * 8 + UInt32(i)
if let _last = last, codePoint == _last + 1 {
last = codePoint
} else {
if let first = first, let last = last {
ranges.append(first ... last)
}
first = codePoint
last = codePoint
}
}
}
if let first = first, let last = last {
ranges.append(first ... last)
}
return ranges
提供商:
Microsoft.ACE.OLEDB.12.0
您可以通过执行以下代码来查看两个不同的提供程序Access用于连接到当前数据库:
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & pDBPATH & pDBNAME