Accessでサブレポートデータ0件時の表示方法

このQ&Aのポイント
  • Accessでメインレポート内に配置したサブレポートのデータが0件の場合、サブレポートは表示可能ですが、レポートヘッダーやフッターも非表示となります。0件の場合でも表示させる方法はありますか?
  • Accessのメインレポートにサブレポートを配置していますが、サブレポートのデータが0件の場合、サブレポート自体は表示されるものの、レポートヘッダーやフッターも非表示になります。0件でも表示させる方法はありますか?
  • Accessのメインレポートに配置した複数のサブレポートがありますが、サブレポートのデータが0件の場合、サブレポートは表示可能ですが、レポートヘッダーやフッターも非表示となります。0件でも表示させる方法はありますか?
回答を見る
  • ベストアンサー

Access サブレポートデータ0件時 表示する

Access サブレポートデータ0件時 表示する メインレポート内にサブレポートをいくつか配置し、表示・非表示をコントロールしております。 OS:Windows10 Access:Office365 フォーム F_MAIN ボタン bt_pop ポップアップフォーム F_POP ボタン bt_print メインレポート A (リンク親フィールド:ID_NO) サブレポート B~G (リンク子フィールド:ID_NO)・・・普段は非表示、帳票形式 「流れ」 F_MAIN上のボタンbt_popをクリックするとF_POPフォームがポップアップで開き、 印刷表示したいサブレポートB~Gのチェックボックスをクリックして、 ボタンbt_printをクリックすると、レポートAをプレビューする。 「質問」 チェックしたサブレポートを表示可能にした際、サブレポートのソースオブジェクト のソースデータが1件以上の時には表示されるのですが、 0件の場合にはサブレポート自体は表示可能にしているのですが、 ソースオブジェクト上のレポートヘッダーやフッターなども全て非表示となり、 何も表示されません。 この場合、0件でも表示することは可能でしょうか。 空データ時でのイベントでコントロースするなどの情報は見たのですが、 非表示にする方法しかありません。 お力をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

探せば見つかるものですね。 困った時の AccessClub 頼り。 No34102.サブレポート0件時の表示 http://accessclub.jp/bbs/0095/beginers34102.html

jipang5054
質問者

お礼

ご教授頂きありがとうございました。 より簡単に解決できる方法はないかと質問させていただきましたが、リレーションシップを利用する以外ではやはりデモデータを作成する方法しかなさそうですね。 今回は、サブレポートを開く時に、レコードソースを入れ替える(本番データとデモデータ)方法でコツコツと設定してみようかと思います。 大変ありがとうございました。

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

こんにちは 添付図をご覧ください。(1)右クリックから(2)(3)と進んでOK、OK リンク親フィールドとリンク子フィールドのリレーションシップを リンク親フィールドの全フィールドとリンク子フィールドの同じフィールドの レコードだけを含める

jipang5054
質問者

お礼

ご教授頂きありがとうございました。 今回のシステムではリレーションシップを設定せずに開発をしております。 次回の参考にさせていただきます。 とても勉強になりました。 大変ありがとうございました。

関連するQ&A

  • Access サブレポートデータ 印刷されない

    Access サブレポートデータ 印刷されない メインレポート内にサブレポートをいくつか配置し、表示・非表示をコントロールしております。 OS:Windows10 Access:Office365 フォーム F_MAIN ボタン bt_pop ポップアップフォーム F_POP ボタン bt_print メインレポート A (リンク親フィールド:ID_NO) サブレポート B~G (リンク子フィールド:ID_NO)・・・普段は非表示、帳票形式 「流れ」 F_MAIN上のボタンbt_popをクリックするとF_POPフォームがポップアップで開き、 印刷表示したいサブレポートB~Gのチェックボックスをクリックして、 ボタンbt_printをクリックすると、レポートAをプレビューする。 「質問」 レポートAでは、チェックしたサブレポートも想定通りプレビューできておりますが、いざ印刷するとレポートAのデータは印刷されますが、サブレポートが印刷されません。 PDFへの変換の際も同じ現象です。 原因を教えて頂ければ幸いです。

  • Access2002 255以上のフィールドをレポートで表示させたい

    Access2002を使っています。Accessは初心者です。 255以上あるフィールドをレポートでA3用紙(横)1枚におさめたいと思っています。 構造は,下の通りです。 テーブル1,テーブル2,テーブル3,テーブル4 クエリ1(テーブル1~3をもとに)・・・フィールドが200あります クエリ2(テーブル4をもとに)・・・・・フィールドが150あります 初心者判断で,クエリ1とクエリ2をもとに350あるフィールドを1枚のレポートにおさめるには,A3用紙の右側の部分にサブレポートを作成すると解決できるのではと考え,マニュアルを読んで,レポート1にサブレポートを追加する作業を進めました。しかし,「アプリケーション定義またはオブジェクト定義のエラーです」というメッセージが表示され作成できませんでした。 サブレポートの概念がよくわからないのですが,サブレポートにこだわらず,350もあるフィールドをA3用紙(横)1枚にレポートで出力できる最も簡単な方法があったら教えて下さい。何分,Accessは初心者なので,よろしくご教示下さい。よろしくお願いします。

  • Access2007サブレポートの絞り込みついて

    Access2007のサブレポートの絞り込み(フィルタ)について教えて下さい。 いつも親切に教えて下さりありがとうございます。 Access2007でサブレポートを入れたレポートがあります。 フォームから絞り込み(フィルタ)をかけて印刷できるようにしているのですが、サブレポートが上手く作動しません。 主にフィルタは日付で検索します。 メインレポートとフォームは同じクエリから作成しています。 サブレポートは別のクエリからです。 リンクフィールドには顧客IDが親子で入っています。 フォームに印刷ボタンを設置し、DoCmd.OpenReport "レポート名", acViewPreview, , Me.Filter で、印刷出来るようにしています。 クエリには抽出条件は入れていません。 例えば12/17のみフィルタをかけた場合は、メインもサブを作動するのですが、 12/17と12/18など1つ以上の条件を選択してフィルタをかけると、メインのみ2日分表示されサブは12/17のみ表示されます。 サブレポートも同じようにフィルタをかけた場合に作動させるにはどうしたら良いでしょうか? 大変わかりづらい説明で申し訳ありません。 教えて下さい。よろしくお願い致します

  • access2000で作成したVisual Basicがaccess2007で使えないのはなぜ?

    教えてください。 access2000で作成したVisual Basicがaccess2007で使えないのです。 フォームにボタンを設定し、(1)(2)ボタンをクリックすればイベントを行う機能にしました。 (1)検索  DoCmd.OpenReport "レポート名", acViewPreview, "フィールド名" (2)印刷  DoCmd.OpenReport "レポート名", acViewNormal, "フィールド名" もちろんセキュリティオプションでコンテンツを有効にしています。 なぜか、関連付けされていないオブジェクトにフォームが入っています。 2000ではできるのに、なぜか2007ではできません。 どうしてでしょうか。教えていください。

  • Access2000VBA オブジェクト転記時にレコードソースや標題も一緒に変更したい

    転記したフォーム、レポートのレコードソース、標題をVBAで変更したいんです。 テーブル名、フォーム名、レポート名の3つのフィールドが一覧となっているテーブル「オブジェクト名」があるとします。 ○例「オブジェクト名」テーブル テーブル名  フォーム名  レポート名 T_ああ      F_ああ    R_ああ T_いい      F_いい    R_いい まず、Excelからインポートしたテーブル名を、上の一覧中のテーブル名「T_ああ」をインプットボックスでまず割り当てておきます。 割り当てた値は「varac」とします。 また、フォーム「オブジェクト作成」に、「フォーム作成」、「レポート作成」というコマンドボタンを作り、TransferDataBaseメソッドを利用し、フォーム、レポートを、既にあるそれぞれ元となるオブジェクトから転記していきます。 その際、それぞれの名称は、DLookUp関数を使い、「varac」を元にして「オブジェクト名」テーブルからフォーム名、レポート名を引っ張ってきます。 ここまでは順調に出来ました。 さらに値「varac」を利用して、フォーム、レポートのレコードソース、標題を変更したいんです。 でも、どうコーディングしたら全体プロパティのレコードソース、標題が変わってくれるのか分かりません。 一つのフォームのレコードソースや標題を変えるのなら、 Me.RecordSource = varacや、Me.Caption = varacにすれば変更できます。 ただ、転記中にフォーム「オブジェクト作成」からどう指示したら、転記先のフォーム上のプロパティ、または転記先のレポート上のプロパティと、認識してくれるのかまったく分かりません。 初心者でもあるため、コーディングに詳しいコメントをしていただくと、とても嬉しいです。 よろしくお願い致します。

  • Accessのサブフォーム

    Access2000です。 フォームを作成し、ツールボックスより「サブフォーム/サブレポート」をクリックしてサブフォームを配置しました。 イベントがEnterとExitしかないやつです。 検索するとサブフォームのテキストボックスが・・・とかあるのですが、何の事やら?です。 この、配置したサブフォームと検索すると色々ヒットするサブフォームは別物なのでしょうか? このシンプルなサブフォームのソースオブジェクトにテーブルを指定して表示させています。 リンク子フィールドやリンク親フィールドは未設定です。 使い方が間違っているでしょうか? このサブフォームの使い方がイマイチよく分かりません。 検索しても前述のように存在しないイベント(?)等の説明でさっぱりです。 分かりやすくどなたかお願いします。。。

  • ACCESS フォームの操作

    下記のようなことが可能であれば、方法をご教授願います。 まず、構造 フォーム2つ 1.メニュー…コマンドボタン2つ(BT11とBT12) 2.メイン  …コマンドボタン3つ(BT21とBT22とBT23) やりたいことは、 BT11とBT12のクリックイベントでどちらもメインフォームを表示 ただし、 BT11クリック時はacFormAddでメインフォーム上にBT21、BT23だけを表示し、 BT12クリック時はacReadOnlyメインフォーム上にBT22、BT23だけを表示 です。 フォームの表示は出来ましたが、 コマンドボタンの表示/非表示が切り替わりません。 sub BT11_Click() 1行目 DoCmd.OpenForm "フォーム名", acNormal, , acFormAdd, acDialog 2行目 Forms!メインフォーム!BT21.Visible = True end sub BT11をクリックしたときは、1行目でとまっているようです。 メインフォームを閉じるときに2行目を実行しようと するようで、メインフォームがないというエラーがでます。 宜しくお願い致します。

  • Access:サブフォームにクエリ表示⇒フィールドを絞り込みたい

    Access2003 WinXP です。 フォームにサブフォームを置き、サブフォームのソースオブジェクトにクエリを参照しているデータシート形式のフォームを設定しています。 フォームに絞込み条件を選択するオプションボタン、表示するフィールドを選択するオプションボタンを配置し、 サブフォームへ表示するコマンドボタンを置いています。 この設定を選択した後コマンドボタンを押すと、クエリの中身を書き換えています。 で、実行すると、表示しない設定のフィールドには「Name?」という値が入ったフィールドがしっかり表示されてしまいます。 ソースオブジェクトにクエリ自体を設定すれば回避出来ますが、表示されたデータをダブルクリックするとその1レコードを表示する画面を更に開きたいと思っていますので、サブフォームにデータシート形式のフォームをセットするのがダブルクリックイベントを取得出来て良いかと思っています。 分かりにくい説明ですみません。 何か解決法を分かる方いらっしゃいましたら、お願いします。

  • ACCESS2003 レポートのレイアウトを2段にしたい

    ACCESS2003で開発しています。 レポートを作成しているのですがどのようにこのレイアウトを実現したらよいかわからないので、どなたかお力を貸してください。 詳細の部分には30件分のデータを入れます。 15件で折り返し、16件目からは1件目の横に表示します。 1件ごとにバーコードとデータを入れます。 1件目から15件目までをサブフォーム1にして、16件目から30件目までをサブフォーム2にするというようなやり方も考えたのですが、データ自体最大300件で、2ページ目になると連番が31から60件目までを表示というようになります。 するとサブフォームを件数分(今回であれば10個のサブフォーム)用意し、親レポートに貼り付け、サブレポート2つごとに改ページを入れておく?!なんてことになるのかな?と考えたのですが、どうもよくわからなかったのです。 イメージはこんな感じです↓ ------------------------------------------------------------ ページヘッダー ------------------------------------------------------------ 詳細 1 (バーコードとデータを表示)  16 2                 17 ・                 ・ ・                 ・ ・                 ・ 15                30 ------------------------------------------------------------ ページフッター 合計とページ数を表示 ------------------------------------------------------------ このようなレイアウトは本当に可能でしょうか? またサブレポート化した場合のサブレポートのソースオブジェクトはサブレポートごとに作成してやらないといけないですよね?? なんだかとてもややこしいのですが、何かアドバイスをいただければありがたいです。 よろしくお願いいたします。

  • アクセス ラベルを使わず「~件」と表示?

    アクセス2000レポートに関する質問です。 項目をカウントする =Count([フィールド名]) を使っています。その場合にラベルを追加せずに「~件」と印刷プレビューで表示するやり方があるようなのですがわかりません。 レポートのデザインビューで=Count([フィールド名])を指定してあるテキストボックスプロパティの書式を"件"と入力して試してみたのですがカウントした数字は表示されずただ「件」と表示されただけでした。 よろしくお願いします。

専門家に質問してみよう