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. CSV in Outlook

    in Microsoft Excel Hilfe
    CSV in Outlook: Wie kann ich die Uhrzeit eines Termins über die CSV-Datei in Outlook importieren?
  3. CSV Verbindung ergänzt neue Spalten nicht

    in Microsoft Excel Hilfe
    CSV Verbindung ergänzt neue Spalten nicht: Hallo zusammen Ich habe eine csv-Datei über "Daten abrufen - Aus Datei - Aus Text/CSV" in mein Excelfile verknüpft. Nun wird diese csv-Datei regelmässig überschrieben, die Werte aktualisiert und...
  4. Makros für csv-Export mit Anführungszeichen für ausgewählte Splaten

    in Microsoft Excel Hilfe
    Makros für csv-Export mit Anführungszeichen für ausgewählte Splaten: Hallo liebe Forengemeinde, ich habe folgendes Problem: Ich muss eine csv-Datei bearbeiten und anschließend wieder als csv-Datei speichern. In der Originaldatei sind einige Spalteninhalte in in...
  5. CSV-Import mit seeehr langen Zahlen

    in Microsoft Excel Hilfe
    CSV-Import mit seeehr langen Zahlen: Moin ihr Lieben, ich habe von einem Kunden eine CSV-Datei erhalten mit 19-stelligen Zahlen-Codes, teils auch mit führenden Nullen, die z.B. so aussehen: 0001234567890123456 0012345678901234567...
  6. PQ: CSV-Importe aus Ordner (Dateiname in Spalte)

    in Microsoft Excel Hilfe
    PQ: CSV-Importe aus Ordner (Dateiname in Spalte): Hallo zusammen, ein PowerShell-Script fragt Domänen-PCs nach einem bestimmten Treiber mittels dem Befehl driverquery ab und piped das Ergebnis in eine CSV. je PC gibt es eine CSV je CSV 3...
  7. .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...
  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...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden