過去ログ

                                Page     368
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼レポートのレコードソースが0件の時は印刷しないようにするには・・・  幸豆 03/9/5(金) 17:12
   ┣Re:DCount 関数の第3引数  イケガミ 03/9/5(金) 17:35
   ┗Re:レポートのレコードソースが0件の時は印刷しないようにするには・・・  よろずや 03/9/7(日) 16:48

 ───────────────────────────────────────
 ■題名 : レポートのレコードソースが0件の時は印刷しないようにするには・・・
 ■名前 : 幸豆
 ■日付 : 03/9/5(金) 17:12
 -------------------------------------------------------------------------
   こんにちは。
いつもこちらでは勉強させて頂いています。
質問ばかりで申し訳ありませんが、以下の内容について教えて下さい。
(WindowsMe/Access2000)

レポートのレコードソースは選択クエリーで、フィルタプロパティに条件をうたっています。
レコードソースの選択クエリーでは対象件数があってもフィルタで対象件数が0件になってしまう時があり、その時は空のレポートが印刷されてしまいます。
レポートの「空データ時」イベントにCancel=Trueとうたったのですが、フォームからDocmd.OpenReportでレポートを開き、0件だと「OpenReportアクションの実行はキャンセルされました」とエラーになってしまいます。
レコードソースを事前にテーブルへ作成し、DCount関数でOpenReportの判断をすればいいのですが、可能であれば上記の方法で行いたいのです。
お忙しいところ申し訳ありませんが、教えて下さい。
よろしくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:DCount 関数の第3引数  ■名前 : イケガミ  ■日付 : 03/9/5(金) 17:35  -------------------------------------------------------------------------
   >レコードソースを事前にテーブルへ作成し、DCount関数でOpenReportの
>判断をすればいいのですが、可能であれば上記の方法で行いたいのです。

OpenReport メソッドで、フィルタを指定してるんですよね?
でしたら、その条件文を変数にしておいて、DCount 関数の第3引数に
指定すれば大丈夫だと思いますよ。

 ───────────────────────────────────────  ■題名 : Re:レポートのレコードソースが0件の時は印刷しないようにするには・・・  ■名前 : よろずや  ■日付 : 03/9/7(日) 16:48  -------------------------------------------------------------------------
   >レポートの「空データ時」イベントにCancel=Trueとうたったのですが、
>フォームからDocmd.OpenReportでレポートを開き、0件だと
>「OpenReportアクションの実行はキャンセルされました」とエラーに
>なってしまいます。

呼び出し元でエラートラップを掛けます。
ヘルプで On Error をご覧ください。

なお、このときのエラーコードは、印刷中に表示されるダイアログボックスの
「キャンセル」をクリックしたときと同じです。
それを区別するには、さらに工夫する必要があります。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 368