【问题标题】:Access VBA equivalent of Import Spreadsheet Wizard访问相当于导入电子表格向导的 VBA
【发布时间】:2019-04-08 17:43:06
【问题描述】:

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

Access 预设导入电子表格向导可以完成我想做的事情。只是看起来事后无法修改。几个字段默认为日期/时间(字段行顶部的日期),但数据类型需要以短文本结尾。

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

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    最接近导入电子表格向导功能的方法是DoCmd 对象的TransferSpreadsheet 方法。

    但是,虽然您可以指定电子表格的第一行是否包含字段名称,但您无法提供导入规范(就像您可能使用 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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      相关资源
      最近更新 更多