【问题标题】:Excel not selected the range specified in queryExcel 未选择查询中指定的范围
【发布时间】:2016-06-15 16:02:07
【问题描述】:

我将工作表批量插入到 SQL 中的临时表中,之后我调用存储过程将数据从临时表移动到主表。

插入我使用下面的语句

s = "select * into [" & ThisWorkbook.Sheets("Master Control").Range("F2") & "].[" & Environ("username") & "] FROM [ABC$A13:IU5000] "
cn.Execute s

问题是,即使将范围放入查询中,它也只会提取到最后一列有数据的列,这会产生问题。

我怎样才能让它准确地选择我指定的范围?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我刚刚将我的代码发布到Transfer an Excel Range INTO a Database

    这对我有用。

    SELECT * INTO [TagetTable] FROM [Excel 8.0;HDR=YES;DATABASE=C:\stackoverflow\test-stub.xlsx].[ABC$A13:IU5000]
    

    这是您的查询字符串:

    选择 * 进入 [F2]。[best buy] FROM [ABC$A13:IU5000]

    F2 是您要查询的数据库的名称吗?您缺少 FROM 子句中的文件路径

    【讨论】:

    • 我的查询运行良好,唯一的问题是它没有插入到 IU 列,而是只插入到 DD。
    • 列数因用户而异,我已决定最大范围为 IU,但它不起作用。
    • 我会在 Row(14) 中插入一个虚拟数据行。这可能会强制查询插入所有行和列。之后您可以随时从数据库中删除虚拟记录。
    猜你喜欢
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    相关资源
    最近更新 更多