Versionen: Access 2003, 2002/XP und 2000
Die Import-Funktion von Access kann bei CSV-Daten häufig nicht genutzt werden, da einzelne Felder vor dem Speichern in der Tabelle abhängig von verschiedenen Kriterien modifiziert werden müssen. Es ist also notwendig, eine Import-Routine per VBA zu realisieren. Das Einlesen der Zeilen über "Open Datei for Input" und "Line Input" stellt keine besondere Herausforderung dar, aber wie extrahiert man die einzelnen Feldinhalte? Sie sind in der Regel in Anführungszeichen und getrennt durch ein Komma gespeichert, so dass sie nicht direkt übernommen werden können. Um die Feldinhalte zu extrahieren, nutzen Sie die "Split()"-Funktion von Access:
Dim arrFelder As Variant
Dim I As Long
Dim strValue As String
.....
Line Input #FNum, strZeile
arrFelder = Split(strZeile, ",")
.....
Das Array "arrFelder" enthält anschließend für jedes Feld ein Element wie zum Beispiel '"Schmidt"', '"Am Bahnhof 12"' oder '"089-123 456"', also den jeweiligen Feldinhalt in Anführungszeichen. Um die Anführungszeichen beim Schreiben in die Tabelle zu eliminieren, nutzen Sie die "Mid()"-Funktion beispielsweise wie folgt:
For I = LBound(arrFelder) To UBound(arrFelder)
strValue = Mid(arrFelder(I), 2, Len(arrFelder(I)-2))
Next I
Dadurch wird der Feldinhalt ab dem zweiten Zeichen in die Variable "strValue" übertragen, wobei sich die Anzahl zu übernehmender Zeichen aus "Länge der Zeichenkette Minus 2" ergibt, weil zwei Anführungszeichen eliminiert werden.