0
我想从Excel表导入数据到访问表。我正试图自动化数据处理程序。所以我可以读取数据访问此代码:导入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
但我得到一个错误。它创建另一个表,称为导入错误,指出“类型转换失败”,后跟列名和行号。
问题是我的Excel表格上有一个名为ETA的列,它有一个日期。列中大部分字段的月份/日期类似('1/20'或1/17'),但某些字段的代码类似'BAD'或'CP'。我的部分数据处理将会将所有'坏'的事件从今天改为一周,而'CP'的公式则会改变。
所以我的问题是:是否有一种方法,一切都被读为DoCmd.TransferSpreadsheet()或任何其他方式的字符串?
我对你为什么不执行你的“数据处理不明'在导入之前。 – Jeeped
@Jeeped其他需要的东西大部分已经在访问表单上。我正在尝试创建另一个用户指向excel文件的按钮,然后它会将格式化的数据导出到访问表中。在我的代码中,初始化本质上是一个临时表。 – USER420
其中的谎言就在这里!电子表格和数据库之间的经典区别。在电子表格中,您可以在列中输入任何字符串/日期/布尔值/数字。如果您不遵守列的数据类型,数据库将惩罚您。访问'日期时间字段需要每个分段日,月和年:'MM/DD/YYYY'或'DD/MM/YYYY'(取决于您的区域设置)。如果时间('HH:MM:SS')被忽略,午夜被认为是'00:00:00'。 – Parfait