我有一個類正在處理我與Access 2003數據庫的連接。我只想爲Access 07/10 .accdb文件設置相同的功能。任何幫助表示讚賞!謝謝!Excel VBA連接到Access 2010
這是我引用的列表和類對象的副本
參考文獻:
- 的Microsoft Access 14.0對象庫
- Microsoft DAO 3.6對象庫
ConnectionClass:
Option Explicit
Private Const DbFile = "\\server\folders\Report.mdb"
Dim OpenConn As DAO.Database
Dim ObjAccess As Object
Private Sub Class_Initialize()
On Error Resume Next
Set OpenConn = DAO.OpenDatabase(DbFile)
If Err.Number = 3024 Then MsgBox "Check connection string in the VBA StaticClass object", vbOKOnly
Set ObjAccess = CreateObject("Access.Application")
ObjAccess.Visible = False
ObjAccess.OpenCurrentDatabase (DbFile)
End Sub
Public Function runSQL(ByVal sql As String) As Recordset
Set runSQL = OpenConn.OpenRecordset(sql)
End Function
Public Function runVolumeReport(ByVal inMacro As String)
ObjAccess.DoCmd.RunMacro inMacro
End Function
Public Function closeResources()
Set ObjAccess = Nothing
OpenConn.Close
End Function
打開ACCDB
我也'昏暗OpenConn作爲對象'而不是'DAO.Database'。這允許獨立於版本的代碼(但刪除了在OpenConn或DAO之後鍵入'.'時出現的可愛彈出窗口) – SeanC
當我從.mdb切換到.accdb時,它提供了一個無法識別的錯誤。我會盡力在以後找出確切的錯誤。 – JKK
我打開了文件,繼續並將其翻轉到.accdb。它在runSQL函數上失敗,給出運行時錯誤91,對象變量或未設置塊變量。函數runVolumeReport運行良好,但是可以啓動數據庫中的宏。只是不喜歡我試圖從Access中取出記錄集的方式,當我將它切換到.accdb格式時 – JKK