import-tab-getrennte txt in Access-Tabelle über VBA
Ich versuche zu importieren, eine tab-getrennte txt-Datei in eine Access-Tabelle über VBA. In meinem code möchte ich einfügen in eine Tabelle, die noch nicht erstellt wurde.
Hier ist, was ich versucht habe zu tun. Hinweis - ich war in der Lage, diese arbeiten mit einer CSV, und ohne diese: DataType:=xlDelimited, Tab:=True
Sub InsertData()
'import CSV into temp table
DoCmd.TransferText TransferType:=acLinkDelim, TableName:="tbl_TEMP", _
FileName:=FileNameVariable, HasFieldNames:=True, DataType:=xlDelimited, Tab:=True
End Sub
Wenn ich diesen block, bekomme ich die folgende Fehlermeldung auf DataType:=xlDelimited, Tab:=True
Fehlers kompilieren: Benanntes argument nicht gefunden
Wie soll ich das ändern, um zu ziehen in die tab-getrennte txt-Datei, so dass jede Spalte aus der txt hat seine eigene Spalte in Access?
Nach Dokumentation,
ok, danke für den Hinweis mich an die Dokumentation. kennen Sie antoher Methode (oder Kombination von Methoden), die es mir ermöglichen, zu importieren, eine tab-getrennte txt-Datei?
Finden Sie diese stackoverflow.com/questions/1248366/...
ich sah, aber ich hatte gehofft, es gäbe einen Weg, es zu tun, alle im code.
Sind Sie auf der Suche nach einem Weg, um den import einer generischen Registerkarte-getrennte text-Datei in eine neue Tabelle mit beliebigen Feld-Namen (
TransferText
nicht DataType
als parameter.ok, danke für den Hinweis mich an die Dokumentation. kennen Sie antoher Methode (oder Kombination von Methoden), die es mir ermöglichen, zu importieren, eine tab-getrennte txt-Datei?
Finden Sie diese stackoverflow.com/questions/1248366/...
ich sah, aber ich hatte gehofft, es gäbe einen Weg, es zu tun, alle im code.
Sind Sie auf der Suche nach einem Weg, um den import einer generischen Registerkarte-getrennte text-Datei in eine neue Tabelle mit beliebigen Feld-Namen (
Field001
, Field002
, ...) und alle Felder als text?
InformationsquelleAutor sion_corn | 2013-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Sie gesehen haben, von den anderen Artikeln zu dem Thema, es ist wirklich nicht eine generische Methode zum importieren von tab-getrennte text-Dateien. Alle anderen Lösungen, die ich gesehen habe sagen, dass Sie sollten den import der tab-getrennter text-Datei einmal speichern Sie die import-Spezifikation, und verwenden Sie dann die import-Spezifikation für alle nachfolgenden Importe. Das problem dort ist, dass, wenn Sie möchten, importieren Sie eine andere tab-getrennte Datei, die der Spezifikation nicht entsprechen kann.
Die einzige Möglichkeit, die ich gefunden habe, es zu tun, generisch (kurz "Ihre eigenen Rollen" code mit
FileSystemObject
,Split(s, vbTab)
usw.) eine völlig generische Spezifikation für alle 255 möglichen Felder und verwenden Sie diese. Es erfordert eine einmalige setup wie folgt:Kopieren Sie die CSV-Daten aus der Pastebin hier, fügen Sie es in Ihrem Lieblings-text-editor, und speichern Sie es als
GenericTabSpecification.csv
.Öffnen der Datei in Excel, wählen Sie alle 256 Zeilen und 4 Spalten, dann drücken Sie Strg+C, um zu kopieren.
In Access, starten Sie den import-Assistent für text-Dateien und wählen Sie eine Registerkarte getrennte Datei. (Wir werden nicht wirklich importieren.)
Wenn Sie auf der ersten Seite des Assistenten, klicken Sie auf den button "Erweitert...".
In das Import Specification Dialogfeld, überprüfen Sie die Einstellungen (Feld-Trennzeichen, Text-Kennzeichner, etc.) dann klicken Sie auf die Obere linke Ecke des Feldes Information grid, so dass alle Zeilen ausgewählt werden:
Drücken Sie Strg+V zum einfügen der Daten aus Excel in das Netz. Das raster sollte jetzt enthalten 255 Zeilen.
Klicken Sie auf "Speichern Als..." klicken und den Namen der Spezifikation
GenericTabSpecification
. Sobald das geschehen ist, beenden Sie den Assistenten.Jetzt können wir tun, eine generische import von VBA mit einer Anweisung wie diese
InformationsquelleAutor Gord Thompson