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

问题描述 投票:0回答:1

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

Access固定导入电子表格向导执行我想要做的事情。事实上它似乎无法修改。几个字段默认为日期/时间(字段行顶部的日期),但数据类型需要以短文本结束。

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

ms-access access-vba
1个回答
0
投票

与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]
© www.soinside.com 2019 - 2024. All rights reserved.