2

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

提前感谢您的任何建议!

4

2 回答 2

0

Wie 还与 Access DB 建立了连接,但我很确定我们也对该文件夹具有写入权限。

我们使用的代码在这里。

   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

也许它有帮助。:)

于 2014-05-15T09:12:38.487 回答
0

可以访问只读文件夹中的数据库(当然是 Mode=Read),但前提是该数据库未被任何其他用户使用(这意味着没有 .ldb 文件)。但是,只有一个用户可以访问。因此,任何调用数据库的人(即使它是由 excel 完成的)都会为任何其他人锁定它。:-(

于 2016-06-09T11:46:54.230 回答