使用Access导入电子表格向导,我可以为每个字段输入设置字段名称,数据类型,索引并跳过属性。是否有类似的VBA代码可用于具有特定字段设置功能的相同导入?
Access罐头导入电子表格向导完成了我想做的事情。事实看来,它似乎无法修改。几个字段默认为日期/时间(日期在字段行的顶部),但是数据类型需要以短文本结尾。
访问2016 accdb和Excel 2016 xlsm文件格式。
答案 0 :(得分:0)
与“导入电子表格”向导的功能最接近的方法是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]