Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
VBA bietet einige einfache Methoden, um Textdateien zu erstellen, diese mit Texten zu füllen und auch die enthaltenen Texte zu lesen. Dieser Artikel stellt diese Methoden vor und erläutert, wie Sie eine Datei komplett oder zeilenweise lesen, wie Sie neue Dateien erstellen und mit Texten füllen oder Texte zu bestehenden Dateien hinzufügen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1206_Textdateien.mdb</b>.
Wozu Textdateien verwenden
Auch wenn Sie mit Access auf strukturierte Dokumenttypen wie XML-Dokumente oder die Office-Dateitypen zugreifen können, hat die gute alte Textdatei dennoch ihre Berechtigung. Immerhin gibt es noch zahlreiche Anwendungen, die Ihre Daten beispielsweise zeilenweise im CSV-Format ausgeben – und dies lässt sich prima mit den Methoden zum Einlesen von Textdateien auswerten. Aus dem gleichen Grund ist auch das Erstellen und Beschreiben von Textdateien noch längst nicht aus der Mode gekommen.
Inhalt von Textdateien
Textdateien speichern in der Regel Buchstaben, Zahlen, Sonderzeichen und Steuerzeichen. ASCII legt für jedes dieser Zeichen eine Ganzzahl zur digitalen Darstellung fest. Da der ASCII-Standard weltweit verbreitet ist, kann man auch damit rechnen, dass eine im Textformat gespeicherte Datei überall dort gelesen werden kann, wo es auch Computer gibt.
Ein ASCII-Zeichen benötigt ein Byte Speicherplatz in der Textdatei. Mit einem Byte lassen sich Zahlen von 0 bis 255 darstellen. Die ersten 128 decken einen Standardzeichensatz ab, die übrigen stehen für Sonderzeichen und länderspezifische Zeichen wie etwa die deutschen Umlaute.
Kleine Buchstaben belegen die ASCII-Codes 97-122, große Buchstaben die Codes 65-90. Die Zahlen finden sich in den Codes 48-57.
Textdateien mit und ohne Zeilenumbruch
Es gibt zwei Möglichkeiten, Daten in einer Textdatei zu speichern: in Zeilen, die durch spezielle Steuerzeichen voneinander getrennt werden und in Zeilen fester Zeichenlänge. Im ersten Fall geben die beiden Zeichen <b>Line Feed </b>(<b>10</b>) und <b>Carriage Return </b>(<b>13</b>) den Zeilenumbruch an, im zweiten Fall wird jede Zeile bis zur angegebenen Zeichenanzahl aufgefüllt. Dieser Artikel stellt die Methoden zur ersten Variante vor.
Datei vorbereiten
Für die unterschiedlichen Zugriffsarten auf eine Textdatei gibt es verschiedene Parameter. Wie behandeln die folgenden Möglichkeiten:
- Schreiben in eine neue Datei
- Schreiben in eine vorhandene Datei
- Lesen aus einer Datei
Die Vorbereitung der Datei, also das öffnen oder Anlegen, übernimmt in allen Fällen die <b>Open</b>-Anweisung. Die grundlegende Syntax sieht wie folgt aus:
Open <Pfadname> For <Modus> As <Dateinummer>
Angeben des Dateinamens
Sie können entweder den kompletten Dateinamen inklusive Laufwerk und Pfad angeben oder nur einen Dateinamen. Der erste Fall ist klar, im zweiten Fall ergänzt Access die Datei um das aktuelle, mit der Funktion <b>CurDir </b>auszulesende und mit <b>ChDir </b>zu setzende Verzeichnis (siehe auch Artikel <b>Dateibefehle</b>).
Je nach öffnungsmodus muss die Datei bereits vorhanden sein (<b>Output</b>), anderenfalls wird diese gegebenenfalls beim öffnen erstellt (<b>Input</b>, <b>Append</b>).
öffnungsmodus
In Zusammenhang mit Textdateien gibt es drei verschiedene Modi zum öffnen einer Datei:
- <b>Append</b>: öffnet oder erstellt eine Datei zum Anhängen weiterer Inhalte
- <b>Input</b>: öffnet oder erstellt eine Datei und fügt Inhalte ein, vorhandene Inhalte werden gelöscht
- <b>Output</b>: öffnet eine bestehende Datei und bereitet diese zum Lesen der Inhalte vor.
Output und Input – wie soll man sich das merken Ganz einfach: Gehen Sie immer von der VBA-Prozedur aus, die auf die Datei zugreift.
Liest diese die Daten aus der Textdatei ein, verwenden Sie den <b>Input</b>-Modus (Daten fließen zur Prozedur), sonst den <b>Output</b>-Modus (Daten fließen zur Datei).
Dateinummer
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo