连接到Excel VBA中的只读Access数据库

我一直是一个长期访问者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移动到用户可以编写的文件夹中,代码运行良好。

在此先感谢您的任何build议!

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它有帮助。 🙂

只有当这个数据库没有被任何其他用户使用(这意味着没有.ldb文件)时才可以访问只读文件夹中的数据库(当然Mode = Read)。 但是,那么只有一个用户可以访问。 所以任何人调用数据库(即使它是由Excel完成的)locking任何其他人。 🙁