michaeltobias
Goto Top

Ersten sechs Zeilen bei allen CSV Dateien löschen für Import in Access

Hallo zusammen,

meine Aufgabe ist eine Datenbank in Access zu erstellen. Dabei sollen alle csv. Dateien aus einem bestimmten Ordner in dieser Access Datenbank eingelesen werden.
Soweit so gut, bis dahin funktioniert auch alles.
Leider muss ich im ersten Schritt, die ersten sechs Zeilen aus allen csv. Dateien löschen und kann erst anschließend alle Dateien in die Datenbank einlesen.
Das Problem bei den CSV Dateien ist, dass unterschiedliche viele Zeilen mit Werten darin enthalten sind. Also die Messdaten fangen immer bei Zeile 6 an, aber manchmal sind in der Datei 50 und manchmal 100 Zeilen mit Daten enthalten. Deswegen kann ich auch nicht mit Do.Cmd Transferspreadsheed einen Range definieren.
Bis jetzt habe ich noch keine praktikable Lösung gefunden und weiß auch nicht mehr weiter.
Ich bitte um eure Hilfe.
Vielen Dank und viele Grüße

Content-ID: 658843

Url: https://administrator.de/forum/ersten-sechs-zeilen-bei-allen-csv-dateien-loeschen-fuer-import-in-access-658843.html

Ausgedruckt am: 27.12.2024 um 05:12 Uhr

erikro
erikro 04.03.2021 um 20:08:58 Uhr
Goto Top
Moin,

Du könntest doch einfach vorher die Zeilen zählen. Dann hast Du Deine Range. face-wink Und ist nicht .row eine Eigenschaft Deines csv-Objekts? Ich kann VBA nicht allzu gut. face-wink

hth

Erik
147669
147669 04.03.2021 aktualisiert um 22:38:11 Uhr
Goto Top
Mit der Powershell schnell vorbereitet
$folder = 'd:\ordner'  
ls $folder -File -Filter *.csv | %{(gc $_.Fullname) | select -skip 6 | sc $_.Fullname}
Oder du machst in Access per Schleife einen Import in eine temporär angelegte Tabelle und überträgst dann mittels SQL Abfrage und einer Select Into Anweisung die Daten ab dem siebten Datensatz in die Zieltabelle.
Michaeltobias
Michaeltobias 05.03.2021 um 09:12:48 Uhr
Goto Top
Ich versuche die einzelnen Zeilen zu löschen.
Die zu löschenden Zeilen sind immer gleich aufgebaut.
Mit einer ID z.B. 02 und 03 danach eine leere Zeile und abschließend noch eine Beschreibung.

Mit dem ungezeigten Code kann ich die Zeilen nicht löschen.
Kannst du mir da bitte einen Tipp geben?

DoCmd.SetWarnings False ' Zum Unterdrücken der Accessmeldungen
docmd.runsql ("delete* from Importtabelle where Importtabelle.ID:= 02;)
DoCmd.SetWarnings True ' Zum Einschalten der Accessmeldungen
wiesi200
wiesi200 07.03.2021 um 12:14:26 Uhr
Goto Top