使用Access导入电子表格向导,我可以为每个字段输入设置字段名称,数据类型,索引和跳过属性。是否有类似的VBA代码用于执行具有特定字段设置功能的相同导入?
Access固定导入电子表格向导执行我想要做的事情。事实上它似乎无法修改。几个字段默认为日期/时间(字段行顶部的日期),但数据类型需要以短文本结束。
访问2016 accdb和Excel 2016 xlsm文件格式。
与Import Spreadsheet向导功能最接近的方法是TransferSpreadsheet
对象的DoCmd
方法。
但是,虽然您可以指定电子表格的第一行是否包含字段名称,但您无法提供导入规范(就像使用TransferText
方法一样),因此您无法控制每列的数据类型和索引,也无法控制导入应忽略列。
可能的替代方案可能是最初使用TransferSpreadsheet
方法导入电子表格,然后将导入的数据插入到预先存在的表中,并根据需要配置相应的字段和索引选项,例如:
insert into
myexistingtable ( field1, field2, field3 ... )
select
myimportedtable.column1, myimportedtable.column2, myimportedtable.column3 ...
from
myimportedtable
或者,您可以绕过TransferSpreadsheet
方法导入并使用ADO直接访问电子表格所持有的数据,例如:
insert into
myexistingtable ( field1, field2, field3 ... )
select
myimportedtable.column1, myimportedtable.column2, myimportedtable.column3 ...
from
[Excel 12.0 Xml;HDR=Yes;Database=C:\YourExcelFile.xlsx].[YourSheet$A:Z]