OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

アクセスのVBAについて、フォームの On Error Goto についておしえてください。

  • 暇なときにでも
  • 質問No.114142
  • 閲覧数583
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 2% (32/1172)

Private Sub cmd次_Click()

On Error GoTo Err
DoCmd.GoToRecord , , acNext
Exit_Click:
Exit Sub

Err:
MsgBox "この先にレコードがなくなると、ここをつうかするのだろうか。"
Resume Exit_Click


End Sub


一連の流れについて,ご解説ください。よろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

詳しくは、DoCmd.GoToRecord・・・の行にブレークポイント(F9)を仕掛けてコードを実行し、止まった位置から1行ずつ実行(F8)させると分かります。



*****エラー処理の色々************
Sub cmd次_Click()
 MsgBox "1"
 On Error Resume Next '以後エラーが起きても無視する
 DoCmd.GoToRecord , , acNext
 If Err <> 0 Then 'エラーが起きていれば
  MsgBox "2"
 End If
 On Error GoTo 0 '以後エラーが起きたら、エラーになる
 MsgBox "3"
End Sub

'DoCmd.GoToRecord・・・でエラーなら1,2,3、エラーでなければ1,3

*****************
Sub cmd次_Click()
 MsgBox "1"
 On Error GoTo ErrTrap 'エラーが起きた時点でErrTrapにジャンプ
 DoCmd.GoToRecord , , acNext
 MsgBox "2"
 MsgBox "3"

Exit_Click:
 MsgBox "4"
Exit Sub
ErrTrap:
 MsgBox "5"
 Resume 'エラーをクリアして、再トライ
End Sub
'エラー時は、1,5,5,5,5・・・(次レコードに移動できるようになるまで、繰り返し) 、非エラー時は1,2,3,4
*******************
Sub cmd次_Click()
 MsgBox "1"
 On Error GoTo ErrTrap 'エラーが起きた時点でErrTrapにジャンプ
 DoCmd.GoToRecord , , acNext
 MsgBox "2"
 MsgBox "3"

Exit_Click:
 MsgBox "4"
Exit Sub
ErrTrap:
 MsgBox "5"
 Resume Next'エラーをクリアして、エラーの次の行にジャンプ
End Sub
'エラー時は、1,5,2,3,4 、非エラー時は1,2,3,4
*******************
Sub cmd次_Click()
 MsgBox "1"
 On Error GoTo ErrTrap 'エラーが起きた時点でErrTrapにジャンプ
 DoCmd.GoToRecord , , acNext
 MsgBox "2"
 MsgBox "3"

Exit_Click:
 MsgBox "4"
Exit Sub
ErrTrap:
 MsgBox "5"
 Resume Exit_Click 'エラーをクリアして、Exit_Clickにジャンプ
End Sub
'エラー時は、1,5,4 、非エラー時は1,2,3,4
*******************
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 17% (31/179)

On Error GoTo ラベルは それ以降の処理でエラーが発生したときにラベルにジャンプします。 次の行が繰り返し文ですが、処理中にエラーが発生したときは繰り返しを中止してErrへジャンプしてエラーメッセージを表示してEnd Subで終了します。 エラーが無ければ条件まで繰り返し処理を行いExit Subで終了します。
On Error GoTo ラベルは
それ以降の処理でエラーが発生したときにラベルにジャンプします。

次の行が繰り返し文ですが、処理中にエラーが発生したときは繰り返しを中止してErrへジャンプしてエラーメッセージを表示してEnd Subで終了します。

エラーが無ければ条件まで繰り返し処理を行いExit Subで終了します。

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ