文本文件导入到MS Access缺少第一个值

时间:2014-09-04 15:22:36

标签: vba ms-access import schema

我使用VBA和架构文件将制表符分隔的文本文件导入MS Access。一切都按预期工作,除非生成的访问表中第一个记录的第一个字段始终为null,即使它在文本文件中包含值。

代码非常简单:

    sqlCmd = "SELECT * INTO [tblTemp] FROM [Text; Database=" & sDeskPath & ";].[" & Replace(sFileName, ".", "#") & "]"
    CurrentDb.Execute sqlCmd, dbFailOnError

架构是正确的:

    [data.txt]
    ColNameHeader=False
    Format=TabDelimited
    CharacterSet=ANSI
    DateTimeFormat=YYYY-MM-DD
    Col1=IssueID Long Width 10
    Col2=Month Text Width 10
    Col3=Year Long Width 5
    ...

我已多次成功完成此操作,但从未遇到过此问题。究竟是什么导致表中的第一个值等于null ??

1 个答案:

答案 0 :(得分:2)

当“data.txt”文件编码为带有BOM(字节顺序标记)的UTF-8时,我能够重新创建您的问题。在记事本中打开该文件,执行File > Save As...,将“编码”从UTF-8更改为ANSI,然后覆盖现有文件。那应该解决它。