各種エラー処理 : Access

Access VBAでエラーを回避するにはエラートラップの「On Error ステートメント」を使います。




BackHome BackTips Backメニュー

■エラー処理なし
Private Sub コマンド0_Click()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    z = 0
    x = y / z
End Sub

■エラーを無視し、次の行へ移動します
 < On Error Resume Next >

Private Sub コマンド1_Click()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    On Error Resume Next
    z = 0
    x = y / z
End Sub

■エラーが発生すると、指定行に飛ばす
 < On Error Goto 行ラベル >

Private Sub コマンド2_Click()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    On Error GoTo Err
    z = 0
    x = y / z
    Exit Sub

Err:
    MsgBox "エラーが発生しました。"
End Sub
■エラーが発生すると、指定行に飛ばし、エラー番号で分岐させる
 < On Error Goto 行ラベル >
 < Err.Number >

Private Sub コマンド3_Click()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    On Error GoTo Err
    z = 0
    x = y / z
    Exit Sub

Err:
    If Err.Number = 6 Then
        MsgBox "オーバーフローしました。"
    Else
        MsgBox "不明なエラーが発生しました。"
    End If
End Sub

■エラーが発生すると、指定行に飛ばし、エラー内容を表示する
 < On Error Goto 行ラベル >
 < Err.Description >

Private Sub コマンド4_Click()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    On Error GoTo Err
    z = 0
    x = y / z
    Exit Sub

Err:
    MsgBox "エラーが発生しました。" & vbCrLf & Err.Description
End Sub



BackHome BackTips Backメニュー

Copyright(C) FeedSoft