Thema Datum  Von Nutzer Rating
Antwort
25.10.2007 00:27:27 Steffen
NotSolved
25.10.2007 13:58:28 Holger
NotSolved
25.10.2007 23:01:16 Steffen
NotSolved
26.10.2007 11:39:38 Holger
NotSolved
26.10.2007 14:19:08 Steffen
NotSolved
Blau Aw:Aw:Aw:Aw:Aw:riesige Textdatei verarbeiten
26.10.2007 16:46:19 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
26.10.2007 16:46:19
Views:
998
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Aw:Aw:riesige Textdatei verarbeiten
Hallo Steffen,
dann versuche mal folgendes:
Lass die Abfrage nach EOF weg, so dass die Schleife kein Ende hat. Da die Datei natürlich ein Ende hat, kommt es zu einem Fehler „Einlesen hinter Dateiende“ (ein Notaus ist auch Strg+Pause). Füge in die Schleife eine Zeile ein, mit der du die Anzahl der Zeilen feststellst (z.B. a=a+1). Wird die Datei bis zu ihrem tatsächlichen Ende gelesen, fügst du anstelle der Do-Loop-Schleife eine For-Next-Schleife ein, die du bis zur Zeilenanzahl laufen lässt. Ferner kannst du beim Einlesen jede Zeile prüfen, ob sich Chr(26) darin befinden: InStr(temp,Chr(26)) ist dann ungleich null und gibt die erste Stelle in temp an, an der Chr(26) auftritt. Chr(26) kannst du dann durch ein anderes Zeichen ersetzen. Mit einer weiteren Schleife kannst du dies für die restlichen Chr(26) im jeweiligen temp wiederholen.

Wenn das Programm wieder an der bisherigen Stelle abbricht, müssen wir die Datei anders reparieren.
Viel Glück
Holger

Steffen schrieb am 26.10.2007 14:19:08:

Hallo,

ich habe das Problem eingegrenzt.
In der letzten eingelsenen Zeile tauchen mehrere Kästchen auf ( Chr(26) ) und dann wird EOF = true und das Makro liest bis zum ersten Kästchen.
Dies ist aber nicht das Ende der Datei... Lässt sich ausschließen, das EOF erkannt wird bie einem Kästchen, dann sollte es klappen. Diese Kästchen sind wohl Bugs aus dem Import aus anderen Datenbanken.

Steffen

Holger schrieb am 26.10.2007 11:39:38:

Hallo Steffen,
das ist schon merkwürdig. Mir ist nichts darüber bekannt, dass die Länge einer sequentiellen Datei außer durch die physikalischen Gegenbenheiten beschränkt ist. Allerdings habe ich bisher nicht solch riesige Dateien in VBA bearbeitet.
Ich schlage noch folgende Prüfungen nacheinander vor:
1. Prüfe den Wert von EOF(1) beim Abbruch. Wenn er bereits auf "true" steht, ist die Ausgangsdatei zu prüfen, warum dies vor dem erwarteten Ende passiert. Da keine Fehlermeldung kommt und der PC offenbar weiterarbeitet, ist nicht auszuschließen, dass das Programm denkt, es bereits fertig.
2. Versuche "Append" anstelle von "Output".
3. Versuche die "Write#"-Anweisung anstelle von "Print#".
Falls eine Lösung zum Erfolg führt, teile dies bitte mit.
Falls nicht, nenne die technischen Daten beim Makroabbruch, möglichst auch bei den oben vorgeschlagenen Änderungen:
- Länge der geschrieben Datei in Byte
- Wie viele "temp"s wurden geschrieben? Ist das letzte vollständig?
- Wie viel Platz ist beim Abbruch noch auf der Festplatte?

Holger

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
25.10.2007 00:27:27 Steffen
NotSolved
25.10.2007 13:58:28 Holger
NotSolved
25.10.2007 23:01:16 Steffen
NotSolved
26.10.2007 11:39:38 Holger
NotSolved
26.10.2007 14:19:08 Steffen
NotSolved
Blau Aw:Aw:Aw:Aw:Aw:riesige Textdatei verarbeiten
26.10.2007 16:46:19 Holger
NotSolved