gpt4 book ai didi

ms-access - 使用 VBA 将制表符分隔的文本导入 Access 表

转载 作者:行者123 更新时间:2023-12-04 17:10:06 26 4
gpt4 key购买 nike

我正在尝试使用 VBA 将制表符分隔的 txt 文件导入到 Access 表中。在我的代码中,我想将其插入到尚未创建的表中。

这是我尝试做的。注意 - 我能够使用 CSV 来完成这项工作,并且不包括以下内容: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

当我运行这个块时,我在 DataType:=xlDelimited, Tab:=True
上收到以下错误

Compile error: Named argument not found



我应该如何更改它以提取制表符分隔的 txt 文件,以便 txt 中的每一列在 Access 中都有自己的列?

最佳答案

正如您在有关该主题的其他文章中所见,确实没有通用的方法来导入制表符分隔的文本文件。我见过的所有其他解决方案都说您应该导入一次制表符分隔的文本文件,保存导入规范,然后对所有后续导入使用该导入规范。问题在于,如果您想导入不同的制表符分隔文件,则规范可能不匹配。

我发现通用的唯一方法(没有使用 FileSystemObjectSplit(s, vbTab) 等“滚动你自己的”代码)是为所有 255 个可能的字段创建一个完全通用的规范并使用它。它需要一次性设置,如下所示:

从 Pastebin 复制 CSV 数据 here ,将其粘贴到您喜欢的文本编辑器中,并将其另存为 GenericTabSpecification.csv .

在 Excel 中打开该文件,选择所有 256 行和 4 列,然后按 Ctrl+C 进行复制。

在 Access 中,启动文本文件的导入向导并选择任何制表符分隔的文件。 (我们实际上不会导入它。)

Import1.png

当您到达向导的第一页时,单击“高级...”按钮。

在“导入规范”对话框中,验证设置(字段分隔符、文本限定符等),然后单击“字段信息”网格的左上角,以便选择所有行:

Import2.png

按 Ctrl+V 将 Excel 中的数据粘贴到网格中。网格现在应该包含 255 行。

Import3.png

单击“另存为...”按钮并命名规范 GenericTabSpecification .完成后,取消向导。

现在我们可以使用这样的语句从 VBA 进行通用导入

DoCmd.TransferText _
TransferType:=acImportDelim, _
SpecificationName:="GenericTabSpecification", _
TableName:="newTable", _
FileName:="C:\Users\Gord\Desktop\foo.txt", _
HasFieldNames:=False

关于ms-access - 使用 VBA 将制表符分隔的文本导入 Access 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com