Excel-VBA-Verbindung zu Access 2010

Ich habe eine Klasse, die Handhabung meiner Verbindung zu einer Access 2003-Datenbank. Ich würde gerne setup, das gleiche nur für den Zugang 07/10 .accdb-Dateien. Jede Hilfe ist willkommen! Danke!

Hier ist eine Liste meiner Referenzen und eine Kopie der Objekt-Klasse

Referenzen:

  • Microsoft Access 14.0 Object Library
  • Microsoft DAO 3.6 Object Library

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
Ich würde auch Dim OpenConn As Object statt DAO.Database. Dies ermöglicht eine unabhängige version code (entfernt aber die nette popups erhalten Sie, wenn Sie die . nach OpenConn oder DAO)
Wenn ich den Schalter aus .mdb .accdb-es gibt eine nicht erkannte Fehler. Ich werde versuchen zu Graben, der genaue Fehler später.
Ich hatte die Datei zu öffnen, ging vor und blätterte es auf .accdb. Es kann nicht auf die Funktion " runSQL, gibt Laufzeitfehler 91, Objektvariable oder with-block variable nicht festgelegt. Die Funktion runVolumeReport läuft gut für den Auftakt der makro in der Datenbank aber. Nicht nur wie die Weise, die ich bin versucht zu ziehen die einen Datensatz von Access, wenn ich es ausschalten .accdb-format

InformationsquelleAutor JKK | 2012-08-28

Schreibe einen Kommentar