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

Forumthread: Access Datei öffnen

Access Datei öffnen
24.05.2006 14: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 14: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 14: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 15: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
26.05.2006 22: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 14: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 15: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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige