Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: access datei schließen in vba

access datei schließen in vba
29.03.2005 23:41:33
Tom
Hallo ihr alle
wie folgt mein makro

Sub Makro xxx
Dim accapplication As Access.Application
On Error Resume Next
Set accapplication = createObject("access.application")
accapplication.OpenCurrentDatabase _
"C:\Dokumente..........\test.mdb"
accapplication.UserControl = True
Set accapplication = Nothing
Dim ADOConnection As ADODB.Connection
Dim ADORecordset As ADODB.Recordset
On Error Resume Next
Set ADOConnection = New ADODB.Recordset
On Error Resume Next
Set ADOConnection = New ADODB.Connection
ADOConnection.Open "Provider=Microsoft.jet.oledb.4.0;" &_
"Data Source=c:\Dokumente................... test.mdb;"
Set ADORecordset.open "daten",ADOConnection, _
adopenstatic, adlockoptimistic, adcmdtable
Sheets("Tabelle3").Range("B3").Offset(1, 0).CopyFromRecordset ADORecordset
ADORecordset.close
ADOConnection.close
Set ADORecordset = Nothing
Set ADOConnection = Nothing
Application.Run "'YYY.xls'!Makro10"
End Sub

Ich hoffe ich hab das fehlerfrei abgetippselt, da ich es auf einem anderen Rechner laufen habe, der nicht mit dem Internet verbunden ist.
Die Access-Datei die abgerufen wird, ist durch ein Passworteingabe geschützt, die durch diese Art zumindest mal nicht abgefragt wird, was auch beabsichtigt ist.
Nun habe ich eben nur folgendes Problem,das mein Access nach dem auslesen der Daten geöffnet bleibt, kann ich das abändern oder erweitern, damit das was ich öffne auch wieder geschlossen wird?

Bitte um Hilfe
Danke schon einmal Gruß Tom
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: access datei schließen in vba
30.03.2005 00:16:22
Oberschlumpf
Hi Tom
Vielleicht geht es so:
Bevor Du accapplication auf Nothing setzt, versuch es mal mit dieser Zeile
accapplication.Quit
Vielleicht solltest Du Quit und Nothing am Ende des Codes ausführen.
Konnte ich helfen?
Ciao
Thorsten
Und wieder nicht aktualisiert. :-) O.w.T.
30.03.2005 00:20:22
Ralf
:-)
AW: access datei schließen in vba
30.03.2005 11:15:51
Tom
Wollt mich nur noch bei euch beiden bedanken.
Danke
Es funktioniert.
Schönenn Tag noch
Gruß Tom
Anzeige
AW: access datei schließen in vba
30.03.2005 00:19:02
Ralf
Hallo Tom,
setze am Schluss deines Makros noch:
accapplication.Quit
Das sollte es gewesen sein.
Gruß
Ralf
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Access-Datei in VBA schließen


Schritt-für-Schritt-Anleitung

Um eine Access-Datei in VBA zu schließen, kannst du folgende Schritte befolgen. Stelle sicher, dass du Microsoft Access und Excel korrekt installiert hast, um die Interaktion zwischen den beiden Anwendungen zu ermöglichen. Hier ist ein einfaches Beispiel:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub MakroSchliessen()
    Dim accApplication As Access.Application
    On Error Resume Next
    Set accApplication = CreateObject("Access.Application")
    accApplication.OpenCurrentDatabase "C:\Dokumente\test.mdb"

    ' Hier kommt dein Code zum Arbeiten mit der Access-Datei

    ' Schließe die Access-Datei
    accApplication.Quit
    Set accApplication = Nothing
End Sub
  1. Ändere den Pfad zur Access-Datei entsprechend deinen Bedürfnissen.
  2. Führe das Makro aus, um die Access-Datei zu öffnen und anschließend zu schließen.

Häufige Fehler und Lösungen

  • Zugriffsfehler: Wenn du beim Öffnen der Access-Datei einen Fehler erhältst, überprüfe den Dateipfad und stelle sicher, dass die Datei nicht von einem anderen Prozess verwendet wird.
  • Access bleibt geöffnet: Wenn die Access-Datei nach der Ausführung des Makros geöffnet bleibt, stelle sicher, dass du accApplication.Quit vor dem Setzen von accApplication = Nothing aufrufst.

Alternative Methoden

Eine alternative Methode zur Verwendung von Access aus Excel ist die Verwendung von ADO (ActiveX Data Objects). Hier ist ein Beispiel:

Sub ADOZugriff()
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set conn = New ADODB.Connection

    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Dokumente\test.mdb;"
    Set rs = New ADODB.Recordset
    rs.Open "SELECT * FROM daten", conn

    ' Daten verarbeiten

    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du Daten aus einer Access-Datei in Excel importieren kannst, während du sicherstellst, dass die Access-Datei nach dem Vorgang geschlossen wird:

Sub DatenImportieren()
    Dim accApplication As Access.Application
    Set accApplication = CreateObject("Access.Application")
    accApplication.OpenCurrentDatabase "C:\Dokumente\test.mdb"

    ' Daten abrufen und in Excel einfügen
    Sheets("Tabelle1").Range("A1").CopyFromRecordset rs

    accApplication.Quit
    Set accApplication = Nothing
End Sub

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen, um unerwartete Fehler zu vermeiden, z.B. mit On Error GoTo ErrorHandler.
  • Überprüfe, ob die Access-Datei bereits geöffnet ist, bevor du versuchst, sie erneut zu öffnen.
  • Halte deine Access- und Excel-Software immer auf dem neuesten Stand, um Kompatibilitätsprobleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine passwortgeschützte Access-Datei öffnen?
Füge im OpenCurrentDatabase-Befehl das Passwort hinzu:

accApplication.OpenCurrentDatabase "C:\Dokumente\test.mdb", "deinPasswort"

2. Was mache ich, wenn Access nicht reagiert?
Überprüfe, ob im Code ein Endlosschleifenfehler vorliegt oder ob Ressourcen nicht freigegeben wurden. Verwende Task-Manager, um Access manuell zu schließen, wenn nötig.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige