wake-up-neo.com

Exportieren Sie MS Access-Tabellen über VBA in eine Excel-Tabelle im selben Verzeichnis

Ich habe zwei Tabellen in meiner Zugriffsdatenbank, die ich nach Excel exportieren möchte.

Ich kann es tun, indem ich die Tabelle öffne und dann Datei-> Exportieren ... mache und dann das Format wähle und den Dateinamen eingebe.

Auf diese Weise muss der Benutzer jedoch den Namen tatsächlich eingeben, damit die Datei falsch benannt oder im falschen Format oder am falschen Speicherort gespeichert werden kann. Außerdem müssen die beiden Tabellen in zwei separate Arbeitsmappen exportiert werden.

Ich möchte in der Lage sein, ein Schaltfläche in einem Formular zu erstellen, das automatisch eine Tabelle in ein Arbeitsblatt und die andere in ein anderes Arbeitsblatt exportiert, beide in der gleichen Excel-Arbeitsmappe .

Wenn es nicht möglich ist, sie in dieselbe Arbeitsmappe einzufügen, ist das in Ordnung. Ich möchte nur, dass sie automatisch in dasselbe Verzeichnis exportiert werden, in dem meine Zugriffsdatenbank gespeichert ist.

Wenn Sie wissen, wie es geht, kann ein zusätzlicher Vorteil darin bestehen, den Namen so anzupassen, dass er das Datum enthält. Auf diese Weise hätte das Verzeichnis auch historische Exporte. Irgendein Rat?

22
Matt

Mit VBA können Sie eine Access-Datenbanktabelle als Arbeitsblatt in eine Excel-Arbeitsmappe exportieren.

Verwenden Sie die Eigenschaft CurrentProject.Path, Um den Pfad der Access-Datenbank abzurufen.

Verwenden Sie die Methode Format(Date, "yyyyMMdd"), um die Excel-Arbeitsmappendatei mit dem aktuellen Datum zu benennen.

Verwenden Sie zum Exportieren der Tabelle als Arbeitsblatt die Methode DoCmd.TransferSpreadsheet.

Beispiel:

Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True

Dadurch werden sowohl Tabelle1 als auch Tabelle2 in derselben Arbeitsmappe ausgegeben.

HTH

39

Lawrence hat dir eine gute Antwort gegeben. Wenn Sie jedoch mehr Kontrolle darüber haben möchten, was wohin in Excel exportiert wird, lesen Sie Module: Beispiel für Excel-Automatisierung - Zelle für Zelle langsam und Module: Übertragen von Datensätzen nach Excel mit Automatisierung Sie können beispielsweise das Recordset exportieren, indem Sie in Zeile 2 beginnen, und benutzerdefinierten Text in Zeile 1 einfügen.

7
Tony Toews