我不知道這是否可能,但我想我會問。強制忽略從ADODB到Excel的錯誤VBA
對於Excel VBA中的ADODB連接,是否有相當於On Error GoTo Next
?
我有一個使用ADODB.Command對象調用的存儲過程。問題是,如果該存儲過程中的任何一條語句引發錯誤,則整個進程將關閉。是的,在某些情況下這是適當的,但在我的情況下,這不是什麼大問題,我只是希望它繼續執行存儲過程的其餘部分。
On Error GoTo 0
顯示SQL錯誤消息並給出「結束」或「調試」選項。
On Error Resume Next
跳過SQL錯誤消息,但無聲地取消SQL命令並移動下一個VBA語句。
任何想法?
編輯:我已經有我的代碼請求。我不知道它會幫助你很多,但在這裏:
On Error GoTo 0
ServerConnection.Open "Provider=MSDASQL.1;Persist Security Info=True;Extended Properties="DRIVER=SQL Native Client;Trusted_Connection=Yes;SERVER=DBServer;DATABASE=Database";"
Dim SqlCommand As ADODB.Command
Set SqlCommand = New ADODB.Command
With SqlCommand
.ActiveConnection = ServerConnection
.CommandText = "EXEC CacheTables @CacheTableType1=True"
.CommandType = adCmdText
.Execute
End With
ServerConnection.Close
Set SqlCommand = Nothing
Set ServerConnection = Nothing
我真的不控制存儲過程中,不幸的是,但它引發錯誤的原因是,它是誰寫的人使用RAISERROR語句告訴用戶執行到哪裏。這在SQL Server中很好,它理解「優先級」標誌並繼續執行,但VBA似乎認爲所有錯誤都是同等重要的。
請發佈您的代碼... – 2011-02-24 04:10:46
@Mitch完成,但我不知道它會有多大幫助。 – Margaret 2011-02-24 04:19:19
「編寫它的人使用RAISERROR語句告訴用戶執行的地方。」 - eeek! – 2011-02-24 06:11:09