実行エラー2501の対処法について(レポートが開けない)

Anonymous
2021-07-18T04:46:15+00:00

エラーの処理に困っています。

VBAはきちんと勉強したことがなく、ネット検索のツギハギの知識しかない者です。

お知恵をお貸しいただけないでしょうか?

サブフォーム付きの検索フォームがあります。

メインフォームに検索ワードを入れるコンボボックスとテキストボックスがひとつずつあり、検索ボタンをクリックするとフィルターがかかり検索結果をサブフォームに表示するというものです。

印刷結果を見やすい形で印刷したいので、検索結果印刷のボタンをクリックするとフィルターを別レポートに適用して開き、印刷プレビューを開くようにしています。

動作確認をしていたところ、時々「実行エラー2501」が出て、別レポートの印刷プレビューが開かないことがありました。

どうもフィルターをかけて、その抽出結果が0の時にエラーが出ることがあるような感じです。(必ず出るわけではない)

そして、一回エラーが出ると、検索結果印刷のボタンをクリックすると必ずエラーが表示されるようになってしまい、ボタンが使えなくなります。

そこで質問です。

1、このエラーの原因は分かりますでしょうか?または、エラーの原因の突き止め方を教えていただけないでしょうか?

2、抽出結果が0の場合は印刷する必要もないので、プレビューを開かないように設定したいです。

抽出結果が0の場合はフィルターをオフにするという設定を検索ボタンにしようと思うのですが、ネット検索してもなかなか分からず…。

ヒントでも教えていただけないでしょうか。

3、エラー番号を指定して、そのエラーを無視する、もしくはそのエラーをリセットするという設定はできますか?

以上です。

以下、VBAです。

よろしくお願いします。

***ここから***

Option Compare Database

Private Sub 検索のクリア_Click()

On Error GoTo Err_検索のクリア_Click

検索用のサブフォームA.Form.FilterOn = False

Me.コンボ検索01.Value = Null

Me.名前検索窓01.Value = Null

Exit_検索のクリア_Click:

Exit Sub

Err_検索のクリア_Click:

MsgBox (Err.Number & "," & Err.Description)

Resume Exit_検索のクリア_Click

End Sub

Private Sub 検索ボタン01_Click()

On Error GoTo Err_検索ボタン01_Click

If IsNull(Me.コンボ検索01) And IsNull(Me.名前検索窓01) = True Then

    MsgBox "抽出条件を指定してください"

    コンボ検索01.SetFocus

    Exit Sub

End If

    Me.検索用のサブフォームA.Form.Filter = "リスト Like '\*" & Me.コンボ検索01 & "\*'" & " AND " & "氏名 like'\*" & Me.名前検索窓01 & "\*'"

    Me.検索用のサブフォームA.Form.FilterOn = True

Exit_検索ボタン01_Click:

Exit Sub

Err_検索ボタン01_Click:

MsgBox (Err.Number & "," & Err.Description)

Resume Exit_検索ボタン01_Click

End Sub

Private Sub 検索結果印刷_Click()

On Error GoTo Err_検索結果印刷_Click

If Me.検索用のサブフォームA.Form.FilterOn = False Then

    MsgBox "先に検索を実行してください"

    Exit Sub

Else

    DoCmd.OpenReport "R検索結果01", acPreview, , Me.検索用のサブフォームA.Form.Filter

    Me.検索用のサブフォームA.Form.FilterOn = False

    Me.コンボ検索01.Value = Null

    Me.名前検索窓01.Value = Null

End If

Exit_検索結果印刷_Click:

Exit Sub

Err_検索結果印刷_Click:

MsgBox (Err.Number & "," & Err.Description)

Resume Exit_検索結果印刷_Click

End Sub

***ここまで***

Microsoft 365 と Office | Access | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2021-07-18T10:58:02+00:00

    自己解決しました

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません