访问等效于导入电子表格向导的VBA

时间:2019-04-08 17:43:06

标签: ms-access access-vba

使用Access导入电子表格向导,我可以为每个字段输入设置字段名称,数据类型,索引并跳过属性。是否有类似的VBA代码可用于具有特定字段设置功能的相同导入?

Access罐头导入电子表格向导完成了我想做的事情。事实看来,它似乎无法修改。几个字段默认为日期/时间(日期在字段行的顶部),但是数据类型需要以短文本结尾。

访问2016 accdb和Excel 2016 xlsm文件格式。

1 个答案:

答案 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]