| Hallo,
ich habe die Aufgabe eine größere Textdatei einzulesen und auf Tabellenfelder zu verteilen. Der einzele String (Zeile) besteht aus 179 Einzelteilen, die alle mit "|" getrennt sind.(Bsp: AAA|BBB|CCC|DDD...) Insgesamt umfasst die Textdatei ca. 45.000 Zeilen.
Dazu verwende ich folgenden Code:
... Set Ziel = CurrentDb.OpenRecordset("BSAD Import", dbOpenTable) Open Me.strFilename For Input Lock Read As #nFree nZaehler = 0
Do Until EOF(nFree) Line Input #nFree, strImport nZaehler = nZaehler + 1 With Ziel .AddNew !DESRECKZ = TTS0(strImport, 1, "|" !NR = TTS0(strImport, 2, "|" !MANDT = TTS0(strImport, 3, "|" ... .Update End With strImport = "" Loop Ziel.Close Close #nFree Set Ziel = Nothing end sub
Function TTS0(txt As String, pos As Integer, TrennZ As String) Dim A As Variant 'Dim TTS As String A = Split(txt, TrennZ) If pos > 0 And pos - 1 <= UBound(A) Then TTS0 = A(pos - 1) If TTS0 = "" Then TTS0 = "000" Else TTS0 = "000" End If End Function
Nun passiert fogendes: Die Routine arbeitet und bleibt aber nach kurzer Zeit an unterschiedlichen Stellen stehen. Mal nach 300 eingelesenen Zeilen, mal bei 500, etc... Es hilft nur noch ein "hartes" Beenden von Access.
Was mache ich hier falsch, bzw. was kann die Ursache sein?
Herzlichen Dank für Eure Hilfe bzw. Tipps...
Gruß Chr. |