将不带标题的MS Excel电子表格导入现有的MS Access表

时间:2018-08-16 17:52:29

标签: excel ms-access-2013

我有一个将文本文件导入现有访问表(命名为列/字段)的过程。文本文件没有列标题。用户希望可以选择在转换后将同一文件导入,并将MS Excel电子表格导入同一Access表。当我使用Docmd.TransferSpreadsheet函数时,我收到一条错误消息

  

目标表中不存在字段“ F1”。

是否可以导入Excel文件,以便它不尝试匹配两个应用程序之间的标题?

TIA 大卫·富尼尔(David Fournier)

1 个答案:

答案 0 :(得分:0)

我最近也遇到了这个问题。我在Access中找不到任何解决方案。因此,我只是使用VBA在Excel中打开文件并添加标题行。

下面是我的参考代码。

Dim XL As Object

Set XL = CreateObject("Excel.Application")
With XL
    .Visible = False
    .DisplayAlerts = False
    .Workbooks.open sFile 'sFile is your excel spreadsheet full file path 
    Rows("1:1").Insert Shift:=xlDown
    Range("A1") = "xxxxx" 'ColumnA header
    Range("B1") = "xxxxx" 'ColumnB header
    Range("C1") = "xxxxx" 'ColumnC header
    ''
    ''
    'you can add as many column header you want

    .ActiveWorkbook.Save True
    .Quit
End With
Set XL = Nothing

'Now you can use docmd.transferspreadsheet

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "tblName", sFile, True

祝你好运。如果您有更好的方法,请告诉我。

欢呼