レコードセット取得時にタイムアウトエラーを拾って、
リトライするプログラムを作っています。
一度目はうまくいくのですが、リトライ後は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
On Errorでとんだ場合はGotoではなくResumeを使ってください
詳しくはMSDNで
無事解決いたしました。
ありがとうございます。
ツイート | ![]() |