2

我有一个存储在数据库中的作业,计划每天运行。但有时需要在任何给定时间执行此作业以查看最新数据(我使用的是 SQL Server Management Studio 2008)。

作业本身只是从包含实时数据的视图中获取数据,并将其放入一个表中,然后该表将用作 excel 文件的数据源。执行作业会删除并使用新数据重新创建表。

在 excel(2010)中,我希望有一个“按钮”,按下该按钮将执行作业,然后在 excel 中的数据选项卡上点击刷新,然后将使用新数据更新工作表上的数据。

我的问题是:我如何从 excel 宏中执行这项工作?

4

3 回答 3

5
Private Sub CmdRunJob_Click()
   Dim con As Object
   Set con = CreateObject("ADODB.Connection")
   con.Open = "DRIVER={SQL Server};SERVER=YourServer;" & _
       "USER=YourUser;PASSWORD=YourPassword;"
   con.Execute "exec msdb.dbo.sp_start_job 'YourJob'"
End Sub
于 2012-06-21T11:44:54.377 回答
0

您创建了一个将数据从视图移动到表的 SP。然后修改它按计划执行该 SP 的作业。然后在 Excel 宏中,您可以使用该 SP 来更新数据。

或查看示例如何从 VBScript 运行作业

于 2012-06-21T11:44:02.853 回答
0

您可以使用 SQLDMO.SQLServer 来执行您的作业。

于 2012-06-21T11:44:43.337 回答