Veröffentlicht 16. Oktober 200321 j Hallo zusammen! Ich habe folgendes Problem: Ich möchte in Access2000 eine csv-Datei importieren. Hierzu habe ich mir eine VBA-Routine geschrieben, die die Datei zeilenweise einlesen soll. Dummerweise hat die zu importierende Datei - die in dem Format geliefert wird - am Zeilenende nicht 0D 0A (also Carriage Return + Line Feed), sondern nur ein 0A. Dies erkennt der blöde "Line Input" Befehl aber nicht. Hat da jemand ne Lödung für mich? Code-Auszug: Open strFilename For Input As #1 ' Datei öffnen. Do While Not EOF(1) ' Schleife bis Dateiende. Line Input #1, Textzeile ' Zeile in Variable einlesen. MsgBox (Textzeile) ' zur Überprüfung If InStr(Textzeile, ";") > 0 Then arInput = Split(Textzeile, ";") Else arInput = Split(Textzeile, ",") End If rsNew.AddNew For I = 0 To rsNew.Fields.Count - 1 rsNew(I) = arInput(I) Next rsNew.Update Loop Close #1 ' Datei schließen.
16. Oktober 200321 j hi, das sollte gehen Dim sTmp As String Dim ff As Long ff = FreeFile Open sFilename For Input As #ff While (Not EOF(ff)) 'immer ein zeichen einlesen sTmp = Input(1, #ff) 'prüfung auf zeilenende 'macht allerdings aus jedem CrLf zwei zeilenumbrüche... If ((sTmp = vbCr) Or (sTmp = vbLf)) Then sTmp = vbNewLine End If 'verarbeitung des gelesenen zeichens Text1.Text = Text1.Text & sTmp Wend Close #ff allerdings ungetestet... hth
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.