连接到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任何其他人。 🙁
- 在ADODB(VBA,Excel和Acccess 2010)中执行查询时出现错误80004005,
- 如何select使用ADODB移动数据的Excel VBAmacros的dynamic工作表名称?
- 在刷新其他连接之前,ADODB等待查询完成
- Oracle SQL Excel VBA中的多个过程
- Excel VBA,ADO连接,返回date如果存在,或者上一个可用date
- 通过ADODB访问Excel工作簿 – 同时有多个用户
- VBA ADO引用用户定义的错误
- 如何使用adodb编写sql查询来select长度超过255个字符的数据
- 使用ADODB连接打开存储在SharePoint上的Excel文件作为数据源