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 に答える