konvertieren von fixed length
hallo miteinander
Ich muss ein .txt File mit fester Länge als Formatierung in eine separierte Datei umzuschreiben. Einige Versuche mit angepassten vbs-scripts haben schon ziemlich brauchbare ergebnisse geliefer, nur einige Details wollen nicht klappen.
Das Quellfile habe ich mit allen Felddefinitionen. Ist es eine grosse Sache so einen Import via Access zu programmieren?
Ich bin sehr froh um jede Hilfe, leider bin ich selber total unerfahren in Sachen VBA und VBS.
Grüsse
Andi
Antwort schreiben
Antwort 1 von Marie vom 06.02.2020, 03:04 Options
Nein, das ist kein Akt, einen Import in Access musst Du nicht programmieren, den brauchst Du nur auszuführen. Dann erstellst Du dabei eine Importspezifikation und speicherst die unter einem beliebigen Namen ab. Wenn Du dann dieselbe Formatierung über VBA importieren musst, dann musst Du diese Importspezifikation mit aufrufen. Probier mal und sag dann wo Du hängenbleibst, falls Du es nicht gebacken kriegst.
Gruß Marie
Antwort 2 von blotto vom 06.02.2020, 09:04 Options
Hallo Marie
Vielen Dank für deine Erklärung. Dieses Speichern der Spezifikation ist mir schonmal nicht aufgefallen (unter Weiteres, falls jemand auch danach suchen sollte), das macht es schon wesentlich nützlicher.
Mir fehlt die ganze Programmierkenntnis um diese Spezifikation nun aufzurufen. Ich taste mich erst so langsam an die Sache ran. Hast du vielleicht ein Beispiel wie dieser Text aussehen könnte?
Mein eigentliches Problem hat sich weitest gehend gelöst, da ich den Absender meiner Quelldatei dazu gebracht habe das File zu separieren, ich bin aber dennoch sehr interessiert am ursprünglichen Lösungsansatz!
Gruss
Andi
Antwort 3 von Marie vom 07.02.2020, 02:55 Options
Du musst einfach eine solche Datei, die Du importieren willst nehmen und einmal händisch importieren, wie Du bereits bemerkt hast auf weiteres klicken und alles in der Spezifikation eintragen. Bei fester Länge exakt die Länge von jedem Feld, den feldnamen und die Formatierung, also ob Datum, Zahl, Text oder was auch immer. Diese Spezifikation speicherst Du dann auch ab unter einem beliebigen Namen, den Du Dir auch merken musst.
Probiers doch mal aus, wenn alles richtig importiert wurde ohne importfehler, dann kannst Du künftig den import mit DoCmd.TransferText acImportDelim, "DeineSpezifikation", strTabelle, ......
ahhhhhhhhhh, hier, schau, hier ist ne tolle Anleitung:
http://www.dbwiki.de/wiki.php?title=Access_Bedienungsanleitung:_Imp...Gruß Marie
Antwort 4 von blotto vom 07.02.2020, 08:31 Options
Der Import und das Abspeichern klappen wunderbar, damit kenne ich mich auch schon ein wenig aus. Aber der "DoCmd.TransferText acImportDelim, "DeineSpezifikation", strTabelle, ......"-Teil ist für mich leider nicht so einfach.
Ich verstehe praktisch kein VB, habe bisher nur irgendwelche vorhandnen Codes leicht angepasst und so.
Gruss
Andi
Antwort 5 von Marie vom 07.02.2020, 21:36 Options
Zitat:
Aber der "DoCmd.TransferText acImportDelim, "DeineSpezifikation", strTabelle, ......"-Teil ist für mich leider nicht so einfach.
N das ist wirklich der einfachste Teil wenn alles andere klappt. Also wenn Du das brauchst, dann sag wo Du hängenbleibst, dann helfe ich Dir.
Mach mal Probehalber ein Formular mit einem 'Import-Button' und dann ein bei-Klick-Ereignis und schreib diese Zeile rein.
Gruß marie
Antwort 6 von blotto vom 11.02.2020, 11:31 Options
ich habe keine ahnung wie ich das programmieren soll, ich müsste mich erst mehr mit vba beschäftigen. böse gesagt bräuchte ich das ganze script um das file anzuziehen und eine solche gespeicherte einstellung aufzurufen.
wenn du das hier platzieren könntest würde ich es mir gerne einmal anschauen. aber da ich ja mittlerweile einen anderen Lösungsansatz gefunden habe ist es nciht mehr wirklich notwendig (für mich zumindest, vielleicht hat jemand ein ähnliches problem).
vielen dank auf jeden fall für deine hilfe!
gruss
andi