如何使用VBA代码将csv文件导入Access?

时间:2016-02-11 14:21:52

标签: vba ms-access import

我有一个csv文件,我需要使用VBA导入Access。

我正在使用以下代码:

Call DoCmd.TransferText(acImportDelim, , TableName, SourceFile, HasFieldNames)

TableName,SourceFile和HasFieldNames是存储有关文件信息的变量。

导入有效但我在表中只导入了一列。

有人有想法吗?

该文件是带有分隔符“;”的csv并且有多列。

谢谢。

2 个答案:

答案 0 :(得分:6)

" CSV"代表"逗号分隔价值"。因此,默认导入功能会查找逗号。

如果您使用逗号以外的任何内容,请尝试以下操作:

  1. 手动开始导入文件。

  2. 在指定设置后,在单击“完成”之前,单击“高级...”

  3. 点击"另存为"并指定一个名称(或接受Access提议的名称)。

  4. 记下您选择的名称,让我们说"数据导入规范"。

  5. 单击“确定”两次,然后取消导入。

  6. 现在使用您在代码中创建的导入规范:

    DoCmd.TransferText acImportDelim,"数据导入规范","表1"," D:\ Data.csv",False

答案 1 :(得分:4)

您需要在指定分隔符字符串的位置创建(并在.TransferText中使用)导入规范。参见例如这些答案:

https://stackoverflow.com/a/3417067/3820271

https://stackoverflow.com/a/32806065/3820271