将Excel工作表导入访问

时间:2016-01-25 19:34:19

标签: vba ms-access access-vba ms-access-2010

我正在尝试将Excel工作表中的数据导入访问表。我正在尝试自动化数据操作过程。所以我可以通过这段代码读取数据:

Private Sub ctlOpen_Click()
    Set f = Application.FileDialog(3)
    f.AllowMultiSelect = False

  If f.Show Then
     strExcelPath = f.SelectedItems(1)
  End If
  Call DoCmd.TransferSpreadsheet(acImport, _
    acSpreadsheetTypeExcel8, "InitialTable", strExcelPath, _
    True)
End Sub

但是我收到了一个错误。它创建了另一个名为导入错误的表,表明“类型转换失败”#39;后跟列名和行号。

问题是我的Excel工作表上有一个名为ETA的列,它有一个日期。该列中的大多数字段都有月/日期(' 1/20'或1/17')但有些字段的代码类似于' BAD'或者' CP'。我的数据操作的一部分将改变所有“BAD'到今天一周,以及CP'的不同公式。

所以我的问题是:有没有办法在DoCmd.TransferSpreadsheet()或任何替代方案中将所有内容都读为字符串?

1 个答案:

答案 0 :(得分:2)

您可以手动导入包含所有列作为字符串的表,并将导入和调用保存为DoCmd.RunSavedImportExport"您的导入名称"