存储过程在后台运行?

时间:2016-12-12 15:16:04

标签: excel vba excel-vba

我运行存储过程以从服务器检索数据,大约需要10到15分钟才能完成。在运行存储过程时,我的Excel工作簿会冻结,直到返回所有数据。我可以选择在后台运行此存储过程,同时允许Excel工作簿可用。这个想法是让用户在检索数据的同时在工作簿中工作,而不是只看工作表10到15分钟。

我的问题:我以前从未在任何其他应用程序中看到过这个想法。我不知道这是否意味着良好的练习标准。在同一工作簿中工作时加载数据库,并在数据完成时提醒用户所有数据都已通过。

你们觉得怎么样?你相信这会使其他东西变得复杂吗?

我不是很喜欢这个想法,但至少用户不会失去10-15分钟。

谢谢大家:)

1 个答案:

答案 0 :(得分:0)

您需要创建一个Excel应用程序实例并在那里运行您的stpred过程。在这种情况下,您的Excel应用程序仍然可供用户使用,但我希望它很慢。您必须修改您的VBA代码,然后在新的Excel应用程序实例下运行:

dim xlApp as Excel.Application
set xlApp=New Excel.Application

所以在这之后做你的东西你必须提到应用程序,因为你现在有多个活动的应用程序。例如,要创建一个新的工作簿,您可以这样做:

xlApp.Workbooks.Add

我认为您可以手动打开Excel的新实例,然后使用“文件”选项卡中的“打开”打开包含VBA代码的工作簿,然后运行代码,在这种情况下,默认的Excel应用程序将可供用户使用工作。要打开新的Excel实例,请按住SHIFT键并单击Excel应用程序图标(在开始菜单或桌面等上,如果您不知道在哪里可以找到它,只需转到Windows开始菜单并搜索EXCEL)< / p>

希望这有帮助!