Office: (Office 2016) *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren

Helfe beim Thema *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Gemeinde, kurz ein paar Sätze zu meiner Person da ich hier neu bin. Ich bin Student und befinde mich aktuell in meinem Praxissemester.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von feneri4923, 26. September 2020.

  1. *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren


    Hallo liebe Gemeinde,

    kurz ein paar Sätze zu meiner Person da ich hier neu bin.
    Ich bin Student und befinde mich aktuell in meinem Praxissemester.
    Meine Aufgabe im Praxissemester besteht darin, eine DB mithilfe von Access zu erstellen und in dieser das interne Firmengeschehen wieder zu spiegeln und somit das ganze Etwas zu digitalisieren/automatisieren.

    In den letzten Wochen konnte ich mich in das Thema Access einarbeiten- Tabellen, Formulare, Abfragen, Beziehungen, …, ein kleines bisschen VBA, habe ich verstanden und kann dies mit recht gutem Gefühl anwenden.

    Nun aber zu meiner Frage:

    Ich möchte gerne *.csv Dateien, welche täglich durch ein externes Programm in einem Ordner abgelegt werden in eine bereits vorhandene Tabelle in Access importieren. Woran ich scheitere ist, dass es keine Dopplungen in der Tabelle geben darf und die Dateien nach dem Import in einen separaten Ordner bspw.: "importierte Dateien" geschoben werden sollen.

    Ich denke, ohne VBA ist das nicht möglich zu realisieren, oder irre ich mich da schon?

    Hier mein VBA Schnipsel welcher funktioniert allerdings muss ich den Dateinamen jeder zu importierenden Datei separat eingeben und die Datei bleibt letztendlich auch im selben Ordner liegen.. Dieser VBA Code erfüllt also keineswegs seinen Zweck.

    Hier mein kleiner Code Schnipsel:

    Code:
    Ich habe mich schon in mehreren Foren umgesehen, viel Google gefragt und nichts gefunden, was mir weitergeholfen hat.

    Ich würde mich sehr über euere Hilfe freuen und hoffe, dadurch mein Amateur-Access-Wissen auf ein neues Level bringen zu können.

    Danke, und einen guten Start in die Woche euch allen!

    :)
     
    feneri4923, 26. September 2020
    #1
  2. Moin,
    zum Auslesen der Dateien per Schleife kannst du z.B. die Funktion Dir() verwenden.
    Verschieben dann:
    Code:
    oder du nutzt das FileSystemObject für diese Operationen.
    maike
     
  3. Hallo Maikek

    Danke für die schnelle Antwort! *Smilie

    Bei deinem Code-Beispiel:

    Code:
    Muss man den gesamten Dateiname angeben oder gibt es eine Möglichkeit zu sagen, dass alle Dateien mit der Endung *.csv importiert und anschließend direkt in einen anderen Ordner verschiebt, um Dopplungen zu vermeiden?

    Danke und beste Grüße!
     
    feneri4923, 27. September 2020
    #3
  4. *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren

    Du hast ja über die Schleife mit Dir den jeweiligen Dateinamen, den kannst du dann nach dem Import an Name übergeben, etwa so:

    Code:
    / durch Backslash ersetzen (die Forensoftware hat mit Backslash ein Problem).
    maike
     
  5. Hallo,
    Ich würde die Datei zuerst in den Archivordner kopieren, dann in einen,
    immer gleichen Dateinamen umbenennen, den ich dann für den Import
    verwende. Anschliessend löschen und nächste Datei.
    Ausserdem würde ich es wohl mit einer Anfügeabfrage machen, und daran
    anschliessend evtl. eine Aktualisierungsabfrage auf bestehende DS.
    Dazu brauchst du in der Access-Tabelle einen eindeutigen Schlüssel, der
    auch in den .csv-Dateien vorhanden ist. Dann verhindert die JET das Anfügen
    automatisch. Ausserdem brauchst du den sowieso um o.a. Aktualisierungen
    durchführen zu können, falls nötig.

    gruss ekkehard
     
    Beaker s.a., 28. September 2020
    #5
  6. Hallo zusammen,

    erstmal vielen Dank für die hilfreichen Antworten!

    Ich habe jetzt mal den Vorschlag von maikek versucht umzusetzen.

    Das Verschieben der Dateien von den einen in den anderen Ordner funktioniert(e) per Klick auf eine Schaltfläche.

    Aktuell kommt der Fehler ("Laufzeitfehler '53' - Datei wurde nicht gefunden") obwohl der Pfad stimmt.. Das ist aber das kleinere Übel.

    Wie kann man das Verschieben der Dateien denn mit einem Import in eine schon vorhandene Access-Tabelle verknüpfen?

    Hier nochmal mein VBA-Code:

    Code:
    Schon im Voraus vielen Dank für euere Hilfe!
     
    feneri4923, 29. September 2020
    #6
  7. Du hattest doch schon den TransferText Befehl, den setzt du einfach vor dem Verschieben in die Schleife und verwendest statt des hartverdrahteten Dateinamens die Variable.
    maike
     
  8. *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren

    Danke!

    Gesagt, getan.

    Nun erhalte ich den

    "Laufzeitfehler 31519: Sie können diese Datei nicht importieren."

    Ich vermute, dass das was mit der Dateiendung zu tun hat? Also dass ich definieren muss, dass ich alle Dateien mit der Endung *.csv importieren möchte? Oder hängt das mit dem vorherigen Fehler ("Laufzeitfehler '53': Datei wurde nicht gefunden.) zusammen?

    Vermutlich ist der Fehler offensichtlich und ich verkopf mich zu sehr an Kleinigkeiten...

    Code:
     
    feneri4923, 29. September 2020
    #8
  9. Code:
    TransferText muss innerhalb der Schleife sein.
    "strCurrentPath" als Variable ohne Anführungszeichen und der Pfad allein reicht nicht.
    Wenn du im Verzeichnis noch Dateien mit einer anderen Endung hast, kannst du noch eine Prüfung mit If vor dem Import machen.
    maike
     
  10. Ich habe folgendes Probiert:

    Code:
    Die Dateien werden importiert. Allerdings erhalte ich folgende Fehlermeldung:

    https://ibb.co/ydzTxtS

    Die Daten sind dann in der Tabelle und auch in das andere Verzeichnis verschoben. In Access allerdings alles um eine Spalte nach Links verschoben.

    Die Beziehungen der Tabellen sehen so aus:

    Fehler2

    feneri
     
    feneri4923, 30. September 2020
    #10
  11. Da musst du wohl deine Importspezifikation nochmal anpassen.
    maike
     
  12. Ich habe heute nochmal etwas neues versucht da der alte Weg ständig zu neuen Fehlern geführt hat.

    Hier der neue Code:

    Code:
    Dabei erhalte ich jetzt allerdings folgende Fehlermeldung:

    https://ibb.co/rtrGxdF

    https://ibb.co/VwJFWwT

    Kann mir da jemand helfen? Ich verzweifle langsam- das kann doch nicht so schwer sein.... *smashing
     
    feneri4923, 2. Oktober 2020
    #12
  13. *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren

    Da ändert auch ein neuer Code nichts, wenn der grundsätzliche Fehler bestehen bleibt.
    Der sowohl alte wie auch neue Fehler wird doch ziemlich eindeutig gemeldet:
    Du musst das Autowertfeld aus dem Import herauslassen.
    Ob und was sonst noch für Schlüssel verletzt werden, kann ich ohne die Daten zu kennen nicht sehen.
    maike
     
  14. Der VBA Code funktioniert.. zumindest beim ersten mal.

    Führe ich den Code nochmal aus, kommt immer der Laufzeitfehler 3011.

    "Datei XYZ wurde nicht gefunden, stellen Sie sicher dass der Pfad stimmt...

    Es wird immer die erste Datei im Verzeichnis genannt, welche auch vorhanden ist wenn man ins Verzeichnis schaut. Allerdings sieht das Access wohl anders..

    jemand eine Idee? Danke schon jetzt im Voraus!

    feneri
     
    feneri4923, 5. Oktober 2020
    #14
  15. Lass mal das Verschieben testweise raus, vielleicht kommt Dir() da durcheinander.
    maike
     
Thema:

*.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren

Die Seite wird geladen...
  1. *.csv aus Ordner automatisiert in vorhandene Acces-Tabelle importieren - Similar Threads - csv Ordner automatisiert

  2. per Makro VBA csv durchsuchen und Tabellen anlegen

    in Microsoft Excel Hilfe
    per Makro VBA csv durchsuchen und Tabellen anlegen: Hallo Liebes MS Office Forum Gemeinde, vor ab finde ich super das es eine Plattform gibt um mit anderen Personen Themen über MS Office Probleme, Lösungen Ansätze zu teilen. VBA ist für mich...
  3. .csv Datei kopieren und in einem anderem Ordner ablegen

    in Microsoft Excel Hilfe
    .csv Datei kopieren und in einem anderem Ordner ablegen: Hallo Profis, ich habe einen Ordner da liegen im in dem Format "yyyymmdd" .csv dateien ab ich möcht jetzt mit eurer Hilfe erreichen per Buttonklick immer die Tagesaktuelle .csv Datei zu...
  4. alle csv Dateien in eine lokale Tablle im Access importieren

    in Microsoft Access Hilfe
    alle csv Dateien in eine lokale Tablle im Access importieren: Hallo zusammen, ich habe hier schon eingies gelesen, aber leider konnte mir noch nichts weiterhelfen. Folgendes Problem: Ich bekomme jede Woche bis zu 20 csv Dateien per Mail. Diese speichere...
  5. Export Excel in csv per VBA

    in Microsoft Excel Hilfe
    Export Excel in csv per VBA: Hallo Zusammen, ich benötige für ein kleines Projekt einen CSV-Export aus einer Exceldatei, welcher eine Matrix-Tabelle in eine CSV-Datei ausgibt. Für jede verfügbare Matrix soll eine separate...
  6. Umwandlung Datum in Excel Zelle

    in Microsoft Excel Hilfe
    Umwandlung Datum in Excel Zelle: Hallo, Ich habe derzeit das Problem das nach einem CSV Import in Excel 2016 die Spalte mit dem Datum wie folgt ausschaut: Jul 8, 2020 at 21:33:33 Ich würde dies nun gerne in ein...
  7. CSV-Dateien werden mit falschen Umlauten eingelesen

    in Microsoft Excel Hilfe
    CSV-Dateien werden mit falschen Umlauten eingelesen: Hallo, ich möchte gerne mehrere CSV-Datein in eine Exceldatei einlesen. Über PowerQuery funktioniert das ja prinzipiell auch.....leider habe ich ein größeres Problem......erstens erkennt er mir...
  8. CSV-Datein aus einem Ordner automatisch in Access in einer Tabelle zusammenfügen

    in Microsoft Access Hilfe
    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...