如何通过VBA在后台运行存储过程

时间:2019-06-03 10:12:14

标签: sql-server excel vba

存储过程将运行15分钟,并冻结Excel文件。 我们如何通过VBA在后台运行存储过程,让它在后台运行并继续在同一张纸上工作。

2 个答案:

答案 0 :(得分:1)

您不能运行宏并继续在同一工作表中工作。

但是您可以使用下面的代码来加快宏的执行速度:

sub my_macro()
   Application.ScreenUpdating = False
   #Your code
   Application.ScreenUpdating = True
end sub

答案 1 :(得分:0)

基本上,Excel和VBA不是并行处理技术。您将需要等待宏完成才能继续工作。您可能会将此工作作为一项通宵工作来进行,因此当您早上到办公室时,一切都会为您完成。或者,您可以开始该过程,然后去吃午餐,咖啡等。

搜索“ Windows Task Scheduler”,然后按照提示进行操作。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

最后,在Excel中,按Alt + F11打开VBA编辑器。右键单击“ ThisWorkbook”,单击“插入”,再单击“模块”。 双击“模块1”。复制以下代码:

Sub Auto_Open()

Application.DisplayAlerts = False
Application.ScreenUpdating = False


Dim con As Connection
Dim rst As Recordset

Set con = New Connection
con.Open "Provider=SQLOLEDB;Data Source=Your_Server_Name_Here;Initial Catalog=Northwind;Integrated Security=SSPI;"

Set rst = con.Execute("Exec dbo.[Ten Most Expensive Products]")

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub