我有一个csv文件,我需要使用VBA导入Access。
我正在使用以下代码:
Call DoCmd.TransferText(acImportDelim, , TableName, SourceFile, HasFieldNames)
TableName,SourceFile和HasFieldNames是存储有关文件信息的变量。
导入有效但我在表中只导入了一列。
有人有想法吗?
该文件是带有分隔符“;”的csv并且有多列。
谢谢。
答案 0 :(得分:6)
" CSV"代表"逗号分隔价值"。因此,默认导入功能会查找逗号。
如果您使用逗号以外的任何内容,请尝试以下操作:
手动开始导入文件。
在指定设置后,在单击“完成”之前,单击“高级...”
点击"另存为"并指定一个名称(或接受Access提议的名称)。
记下您选择的名称,让我们说"数据导入规范"。
单击“确定”两次,然后取消导入。
现在使用您在代码中创建的导入规范:
DoCmd.TransferText acImportDelim,"数据导入规范","表1"," D:\ Data.csv",False
答案 1 :(得分:4)
您需要在指定分隔符字符串的位置创建(并在.TransferText
中使用)导入规范。参见例如这些答案: