Ergebnis 1 bis 2 von 2

Thema: CSV-Datein aus einem Ordner automatisch in Access in einer Tabelle zusammenfügen (Office 2016)

  1. #1
    Office-Hilfe.com - Auskenner
    Registriert seit
    23.01.2008
    Beiträge
    167

    CSV-Datein aus einem Ordner automatisch in Access in einer Tabelle zusammenfügen

    Hallo,

    ich brauche freundlicherweise eure Hilfe, da ich mich mit VBA nicht so gut auskenne. Ich möchte gerne ca. 1000 CSV-Datein aus einem Ordner automatisch in Access als eine große Tabelle einlesen. Die CSV-Datein liegen in folgender Form im Ordner vor:

    Datei (1).csv
    Datei (2).csv
    Datei (3).csv
    .
    .
    .
    Datei (1000).csv

    Die CSV-Datein haben alle die selben Attribute - also die gleichen Spaltenüberschriften in der ersten Zeile.
    Kann man das über ein VBA-Skript irgendwie lösen? Herzlichen Dank im Voraus!

    VG, Mat

  2. #2
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.238
    Hallo,

    mit folgendem Makro in einem allgemeinen Codemodul ist das möglich:
    Code:
    Option Compare Database
    Option Explicit
    
    Sub CSV_Importieren()
      Dim Pfad$, Datei$, GefDatei$
      Dim Tabelle$
      
      Pfad$ = "S:\Pfad\"           '<-- Pfad zu den CSV-Dateien
      Datei$ = "*.CSV"             '<-- Dateierweiterung der CSV-Dateien
      Tabelle$ = "Tab_CSVDaten"    '<-- Name der Tabelle, in die die CSV-Dateien importiert werden sollen
      
      GefDatei$ = Dir(Pfad$ & Datei$, vbNormal)
      Do While Len(GefDatei$)
        
        Debug.Print "Datei="; Pfad$ & GefDatei$ '<-- Protokollierung im Direktbereich
        
        DoCmd.TransferText TransferType:=acImportDelim, _
                           SpecificationName:="CSV-Importspezifikation", _
                           TableName:=Tabelle$, _
                           FileName:=Pfad$ & GefDatei$, _
                           HasFieldNames:=True
        
        GefDatei$ = Dir()
      Loop
    End Sub
    1) Die blau gekennzeichneten Makropositionen sind an deine Erfordernisse anzupassen, insbesondere der Quellpfad und der Name der Zieltabelle, wobei die Zieltabelle in der ACCESS-Datenbank noch nicht existieren muss.

    2) Damit das Makro funktioniert, muss die rot gekennzeichnete Importspezifikation (mit passenden Daten) angelegt sein. Der Name selber ("CSV-Importspezifikation") kann natürlich frei gewählt werden.
    Wie man eine solche anlegt, ist zB. in folgenden Links beschrieben:
    https://support.office.com/de-de/art...a-001fe75321b5
    https://dbwiki.net/wiki/Access_Bedie...kation_anlegen

    3) Die eingelesenen CSV-Dateien werden im Direktbereich (zwecks Kontrolle) mitprotokolliert.
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel