0

我正在设置一个自动化作业,每次更新 Excel 工作表的数据连接并将工作表保存在动态设置的名称下时,该作业循环遍历一堆 SQL 数据。我有 3 个数据连接都指向 SQL 存储过程。从技术上讲,一切正常,但现在我意识到 3 个执行数据连接的顺序变化不可预测。这会导致数据不同步。循环参数由第一个存储的procudere设置,因此这是必须首先执行的。如何准确控制这些连接的执行顺序。

我在存储过程的调用过程中记录了连接 ID 顺序:(3,2,1), (3,1,2), (1,3,2) - 以下 4 个循环没有改变

我是一个非常讨厌 Excel 的人,每次我需要使用它时,它都会把我逼到自我控制的边缘。这些订单怎么会发生变化?如何控制它。

马丁

4

1 回答 1

0

您应该能够控制 VBA 中的查询执行顺序。
首先确保在查询属性中关闭“后台刷新”设置。

在此处输入图像描述

然后在您从按钮运行的代码中,以所需的顺序指定每个单独的查询刷新(只是为了明确),使用“BackgroundQuery:= False”选项,以便每个查询在下一次开始之前完成。

Sheet1.QueryTables("QueryName1").Refresh BackgroundQuery:=False
Sheet2.QueryTables("QueryName2").Refresh BackgroundQuery:=False
Sheet2.QueryTables("QueryName3").Refresh BackgroundQuery:=False
于 2020-11-15T05:31:03.613 回答