Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige

Forumthread: Access Datei öffnen

Access Datei öffnen
24.05.2006 16:02:32
andre
Hallo,
ist es möglich einfach eine Access-Datei per Button zu öffnen?
Die Datei ist in C:\temp\Materialdatenbank.mbd hinterlegt.
Kann doch eigentlich nicht ao schwer sein, aber irgendwie bekomme ich es nicht hin.
Mfg
Andre
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Access Datei öffnen
24.05.2006 16:34:51
Ralf
Hallo Andre,
von wo denn ?
a Vom Desktop oder
b aus Excel ?
bei a: rechte Maus - Verknüpfung und suchen und immer OK
bei b: Einfügen - Hyperlink
Gruß
Ralf
AW: Access Datei öffnen
24.05.2006 16:47:46
Tassos
Hallo Ralf,
Von Excel aus:


Sub OpenAcc()
Dim sPath As String
sPath = "C:\temp\Materialdatenbank.mdb"
Set oApp = CreateObject("Access.Application")
oApp.Visible = True
oApp.OpenCurrentDatabase sPath
End Sub


Und eine kleine Korrektur: ...mdb, nicht mbd (verschrieben)
Vermute das könnte Dein Problem sein
Gruss
Tassos
Anzeige
AW: Access Datei öffnen
24.05.2006 17:18:06
andre
So,
ich habe Tassos-Code ausprobiert, die Datenbank öffnet sich auch.
Aber sobald das Programm über "End Sub" läuft, schließt er die Access-Datenbank wieder.
Gibts da ein trick?
Mfg
Andre
AW: Access Datei öffnen
27.05.2006 00:02:29
berber
Hallo Andre,
bei mir laüft der Code von Tassos ohne Probleme.
Es gibt hier lediglich eine Abfrage ob die/das Makro aktiviert ausgeführt werden sollen.
Prüfe mal Deine Sicherheitseinstellungen.
Was für ein Code wir denn in der Datenbank ausgeführt wenn Du diese startest ?
Gruß
Berber
Anzeige
AW: Access Datei öffnen
24.05.2006 16:42:37
Peter
Hallo Andre,
hier ein Beispiel, wie du aus Acces lesen kannst:

Sub DBZugriff_Kerstin()
Dim cn         As Connection
Dim rs         As Recordset
Dim SQLString  As String
Dim xx         As Worksheet   ' das Ziel-Tabellenblatt in Excel
Dim i          As Integer
Dim j          As Integer
'Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"
Const DBPfad = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Access-DBs\Archiv Datenbank.mdb"
Set xx = Worksheets("Tabelle2")  ' das Ziel-Tabellenblatt in Excel
'  Die datenbank öffnen
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
'  Definieren was geholt werden soll - hier alles
'SQLString = "SELECT Tabelle1.* FROM Tabelle1"
'    hier nur die PstLZ die mit 2 beginnen aus der Access-Tabelle
SQLString = "SELECT Tabelle1.* FROM Tabelle1 WHERE Tabelle1.PSTLZ_Straße LIKE ""3%"""
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'  Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle
'  hier in die "Tabelle2" schreiben
For j = 0 To rs.Fields.Count - 1
xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
Next
'  Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For j = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields.Item(j).Value) = False Then
xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Access Datei öffnen
24.05.2006 17:00:19
andre
Super,
Ich habe es zwar noch nicht ausprobiert, aber es ist genau das was ich brauche.
@Peter: so etwas habe ich auch schon länger mal im Hinterkopf gehabt, also mal auszuprobieren oder nachzufragen.
Danke
Mfg
Andre
Anzeige
Anzeige

Infobox / Tutorial

Access Dateien in Excel öffnen


Schritt-für-Schritt-Anleitung

Um eine Access-Datei in Excel zu öffnen, kannst du folgenden VBA-Code verwenden. Dieser Code öffnet eine Access-Datenbank direkt aus Excel:

Sub OpenAccess()
    Dim sPath As String
    sPath = "C:\temp\Materialdatenbank.mdb"

    Dim oApp As Object
    Set oApp = CreateObject("Access.Application")
    oApp.Visible = True
    oApp.OpenCurrentDatabase sPath
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und führe das Makro aus, um die Access-Datenbank zu öffnen.

Häufige Fehler und Lösungen

  • Access-Datei konnte nicht gesperrt werden: Überprüfe die Sicherheitseinstellungen in Access. Stelle sicher, dass das Makro aktiviert ist.
  • Datenbank schließt sich nach dem Öffnen: Das kann passieren, wenn das Makro beendet wird. Um dies zu verhindern, kannst du den Code so anpassen, dass die Access-Anwendung im Hintergrund bleibt.
Sub OpenAccessPersistent()
    Dim sPath As String
    sPath = "C:\temp\Materialdatenbank.mdb"

    Dim oApp As Object
    Set oApp = CreateObject("Access.Application")
    oApp.Visible = True
    oApp.OpenCurrentDatabase sPath

    ' Verhindert das Schließen der Anwendung
    Do While True
        DoEvents
    Loop
End Sub

Alternative Methoden

  1. Hyperlink verwenden: Du kannst auch einen Hyperlink in Excel erstellen, der direkt zur Access-Datei führt.

    • Klicke mit der rechten Maustaste auf eine Zelle, wähle "Hyperlink" und gib den Pfad zur Access-Datei ein.
  2. Batch-Datei: Erstelle eine Batch-Datei (.bat), die die Access-Datenbank öffnet:

    start C:\temp\Materialdatenbank.mdb

Praktische Beispiele

Wenn du auf Daten aus einer Access-Datenbank zugreifen möchtest, kannst du den folgenden Code verwenden, um Daten in ein Excel-Arbeitsblatt zu importieren:

Sub ImportFromAccess()
    Dim cn As Object
    Dim rs As Object
    Dim sSQL As String
    Dim i As Integer

    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp\Materialdatenbank.mdb;"

    sSQL = "SELECT * FROM Tabelle1"
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open sSQL, cn

    For i = 0 To rs.Fields.Count - 1
        Cells(1, i + 1).Value = rs.Fields(i).Name
    Next i

    i = 2
    Do While Not rs.EOF
        For j = 0 To rs.Fields.Count - 1
            Cells(i, j + 1).Value = rs.Fields(j).Value
        Next j
        rs.MoveNext
        i = i + 1
    Loop

    rs.Close
    cn.Close
End Sub

Tipps für Profis

  • Verwende Error Handling: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unerwartete Fehler zu vermeiden.
  • Option Explicit: Setze Option Explicit am Anfang jedes Moduls, um sicherzustellen, dass alle Variablen deklariert werden.
  • Sicherheitsüberprüfung: Achte darauf, dass die Makrosicherheit in Excel so eingestellt ist, dass dein Code ausgeführt werden kann.

FAQ: Häufige Fragen

1. Kann ich eine .mdb-Datei ohne Access öffnen?
Ja, du kannst die .mdb-Datei über VBA in Excel öffnen, ohne dass Access installiert sein muss, indem du die richtigen OLEDB-Provider verwendest.

2. Wie kann ich auf spezifische Tabellen in meiner Access-Datenbank zugreifen?
Du kannst SQL-Abfragen verwenden, um spezifische Daten aus Tabellen zu ziehen. Ändere einfach die SQL-Anweisung im VBA-Code, um die gewünschte Tabelle auszuwählen.

3. Was mache ich, wenn die Access-Datenbank nicht gefunden wird?
Überprüfe den Dateipfad und stelle sicher, dass die Datei vorhanden ist. Achte darauf, dass der Pfad korrekt in Anführungszeichen gesetzt ist.

Anzeige
Anzeige