使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
自己解決しました
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
エラーの処理に困っています。
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 リレーショナル データベース管理システムのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。