ON ERROR のリトライ

解決


まるお  2006-10-23 18:23:33  No: 133798

レコードセット取得時にタイムアウトエラーを拾って、
リトライするプログラムを作っています。

一度目はうまくいくのですが、リトライ後はON ERRORがタイムアウトを拾わずシステムエラーメッセージが出てしまいます。

昔やったときは普通に出来たような気がしたのですが、どこか問題があるでしょうか?

intReCnt = 0
Retry:
On Error GoTo OnError
 
   strSQL = "select AAA from テーブル where 列名 = " 
        Set rst = New Recordset
        rst.Open strSQL, PKDB_Cnn, adOpenForwardOnly, adLockReadOnly
    
    Set rst = Nothing
 Exit Function
    
OnError:

Const strTimeOut As String = "-2147217871"
'TimeOutエラーの場合はリトライを行う
If Err.Number = strTimeOut Then

    intReCnt = intReCnt + 1
    If intReCnt <= 1 Then
        GoTo Retry
    Else
        MsgBox あああ
    End If

End If


ガッ  2006-10-23 18:42:17  No: 133799

On Errorでとんだ場合はGotoではなくResumeを使ってください
詳しくはMSDNで


まるお  2006-10-23 19:45:26  No: 133800

無事解決いたしました。
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加