2015-04-02 46 views
0

我有一個存儲過程有4個輸入參數。存儲過程有四個輸入參數

@Scenario, @StockID, @EOD, @EOD_PREV. 

基於該@Scenario (總9種方案),不同SQL腳本被執行。

我的要求是: 我需要使用VB宏來顯示每個工作表的結果,我需要一個ActiveX命令按鈕來運行所有的情景。 單獨工作表中的每種情景。

到目前爲止,我已經設法爲每個工作表創建單獨的連接,併爲每個工作表創建了Active X Command Button。

以下是我使用的查詢。

Private Sub CommandButton1_Click() 
Dim Scenario As String 
Dim STOCK_ID As String  
Dim EOD As String  
Dim EOD_PREV As String  
Scenario = Sheets("Stocks").Range("B3").Value  
STOCK_ID = Sheets("Stocks").Range("B8").Value  
EOD = Sheets("Stocks").Range("B6").Value  
EOD_PREV = Sheets("Stocks").Range("B7").Value  
With ActiveWorkbook.Connections("9").OLEDBConnection  
.CommandText = "EXEC dbo.usp_Inventory_Reconcilliation '" & Scenario & "','" & 
STOCK_ID & "', '" & EOD & "' ,'" & EOD_PREV & "'"  
ActiveWorkbook.RefreshAll  
End With  
End Sub 

有人可以幫助我解決這種情況。

+1

我真的不明白你的問題是什麼......你想把所有的刷新都收集在一個按鈕中嗎?從'With'中獲得'ActiveWorkbook.RefreshAll',也許在不使用VBA的情況下使用連接會更容易,只需將它用於刷新按鈕即可。 – R3uK 2015-04-02 07:47:31

+0

感謝R3uK,我使用沒有VBA的連接調用了Stored Proc。讓我的生活更輕鬆。非常感謝。 – 2015-04-09 02:19:03

+0

嗯...什麼是存儲過程?我將我的建議添加爲答案,以便在問題得到解決時驗證它以關閉主題。 – R3uK 2015-04-09 06:15:30

回答

0

With中獲取ActiveWorkbook.RefreshAll,也許它會更容易使用沒有VBA的連接,只是將它用於刷新按鈕。