Microsoft Access 掲示板

実行時エラー2501が出る。 / 3

10 コメント
views
3

ボタンにこのコードを書く場合、レポートの空データ時イベントは不要ですか?

必要です。ないと、空のレポートが開きます。

複数レポートの場合は、On Error Resume Next は最初に一つだけでもOKです。

Private Sub btn_1_Click()

    On Error Resume Next
    DoCmd.OpenReport "R_Report1", acViewPreview
    DoCmd.OpenReport "R_Report2", acViewPreview
    DoCmd.OpenReport "R_Report3", acViewPreview
    On Error GoTo 0
End Sub

ただ、いまさらですが、
On Error Resume Next にしてしまうと、どんなエラーでも無視してしまうので、
空データ以外のエラーが発生した場合、気がつかないので推奨しません。

コード例

Private Sub btn_1_Click()

    On Error GoTo ErrorHandler
    DoCmd.OpenReport "R_名簿", acViewPreview, , "ID=0"
    DoCmd.OpenReport "R_Report1", acViewPreview
    DoCmd.OpenReport "R_Report2", acViewPreview
    DoCmd.OpenReport "R_Report3", acViewPreview

    Exit Sub
ErrorHandler:
    Select Case Err.Number
    Case 2501 '空データエラー時
        '何もしない
    Case Else
       MsgBox "予期せぬエラーが発生しました" & vbCrLf & Err.Number & ":" & Err.Description
    End Select
End Sub
通報 ...