我一直是stackoverflow的长期访问者,但这是我的第一个问题。
我正在尝试在用户只具有只读访问权限的文件夹中查询Access 2010数据库。
strDBPath = <full path of accdb>
Set myConn = New ADODB.Connection
myConn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
"Mode=Read; Data Source=" & strDBPath
Set myRS = New ADODB.Recordset
myRS.ActiveConnection = myConn
myConn.Open行显示“当前正在使用的文件”错误。如果我将accdb移动到用户可以写的文件夹,代码运行正常。
提前感谢任何建议!
答案 0 :(得分:0)
Wie还与Access数据库建立了连接,但我非常确定我们还对该文件夹具有写权限。
我们使用的代码就在这里。
Dim DB As DAO.Database
Dim QRY As DAO.QueryDef
Dim Rs As DAO.Recordset
Public Ersteller As String
'Prüft die Verbindung zur DB
Public Function OpenDB() As Integer
'Informationen über Database'
Dim Database As Variant
Database = Worksheets("Anträge").Range("B3").Value
'Check Datenbank Verbindung
On Error Resume Next
Set DB = CreateObject("DAO.DBEngine.120").OpenDatabase(Database)
If Err.Number <> 0 Then
MsgBox "Keine Verbindung zur Datenbank möglich!"
End If
OpenDB = Err.Number
End Function
Mayebe有帮助。 :)
答案 1 :(得分:-1)
可以访问只读文件夹中的数据库(当然是Mode = Read),但前提是该数据库未被任何其他用户使用(这意味着没有.ldb文件)。但是,只有一个用户能够访问。所以任何人调用数据库(即使它是由excel完成)锁定任何其他人。 : - (