beebof Geschrieben 16. Oktober 2003 Geschrieben 16. Oktober 2003 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.
Peregrin Geschrieben 16. Oktober 2003 Geschrieben 16. Oktober 2003 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
beebof Geschrieben 17. Oktober 2003 Autor Geschrieben 17. Oktober 2003 Jippie!!! :) Habs leicht abgeändert und es klappt! Danke
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden