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-Key: 658843

Url: https://administrator.de/contentid/658843

Printed on: April 24, 2024 at 09:04 o'clock

Member: erikro
erikro Mar 04, 2021 at 19:08:58 (UTC)
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
Mitglied: 147669
147669 Mar 04, 2021 updated at 21:38:11 (UTC)
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.
Member: Michaeltobias
Michaeltobias Mar 05, 2021 at 08:12:48 (UTC)
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
Member: wiesi200
wiesi200 Mar 07, 2021 at 11:14:26 (UTC)
Goto Top