vba代码将文本文件加载到ms访问表中

时间:2017-07-05 14:40:01

标签: sql vba ms-access

file data image 我需要将文本文件数据导入Access表。以下是我的VBA代码

DoCmd.TransferText transfertype:=acImportDelim, _
  TransferType:=acImportDelim, _
  SpecificationName:="Generic", _
  FileName:="C:\Users\Documents\Rawfile.txt", _
  hasfieldnames:=False

数据正在加载到表中。 但是当原始文件中的列标题/名称顺序发生更改时,此TransferText会按照' SpecificationName'中指定的列标题/名称顺序将数据加载到表中。并且不会交叉检查文件中的列名,导致一列数据加载到表中的另一列。

在加载数据时是否有任何替代解决方案,它应检查列名并将数据加载到正确的列标题/名称中?

注意:列标题名称不会在文件中更改,但只有列标题顺序可能会在原始文件中更改。

1 个答案:

答案 0 :(得分:0)

之前我的导入规格存在此问题。它们非常适合不会改变的布局。有几种选择,一种是通过Access的SQL。

'RawFile may have to be renamed as .CSV vs .TXT

DoCmd.RunSQL "SELECT ColumnIKnow1, ColumnIKnow2, ColumnIKnow3 INTO TargetTable FROM [Text;DATABASE=C:\Users\Documents\;HDR=Yes].Rawfile.csv"