• 締切済み

サブレポートの作成で質問です

Access2007です。 クラス別園児名簿の下のほうに2名のクラス担任氏名と連絡先が入ったレポートを作成したいと思います。 まずクラス担任名簿テーブルからレポートを作成し、その中に園児名簿テーブルから作成したクラス別園児名簿作成クエリのサブレポートを挿入します。 クラス担任氏名テーブルと園児名簿作成クエリには、クラス見出しでリレーションシップを結合しました。 クラスのグループ化などいろいろ試してみましたが、クラス担任2名の名簿が別々にできて名簿が重複してしまいます。 どうすれば、クラス名簿に2名の担任名の入ったレポートが作れるでしょうか。ご指導よろしくお願いします。

みんなの回答

  • mumu_bb
  • ベストアンサー率50% (5/10)
回答No.2

今の状態は、 1ページ目   クラス:年少さん   担任:担任A、担任B   園児名簿・・・・・・・・・・・・・ 2ページ目   クラス:年少さん   担任:担任A、担任B   園児名簿・・・・・・・・・・・・・ 3ページ目   クラス:年中さん   担任:担任C、担任D   園児名簿・・・・・・・・・・・・・ 4ページ目   クラス:年中さん   担任:担任C、担任D   園児名簿・・・・・・・・・・・・・ みたいな感じでしょうか ということであれば、 メインレポート(クラステーブルで作成したレポート)の レコードソースで、クラスが2件ずつ出ていないか確認してみてください。 2件ずつになっていれば、クエリを使用して、 クラスの重複がなくなるようグループ化したものをレポートのソースにしてください。

Po-Ppo
質問者

お礼

mumu bb さま おかげさまでクラス担任入りの名簿が完成しました。 ご指摘のとおりにのクラス担任レポートのレコードソースは、担任テーブルから作ったのでクラスが2件ずつになっていました。 クエリを作成してクラスフィールドをグループ化したものをレコードソースにしたら、クラス担任2名入りの名簿が、一クラス一枚になりました。 解りやすく的確なアドバイスをありがとうございました。 新年度に向けて早速必要な名簿ですので、とても助かりました。 感謝いたします。

  • mumu_bb
  • ベストアンサー率50% (5/10)
回答No.1

ざっくりした回答で思いが伝わればいいですが… クラスだけのテーブルがあればそれを元にレポートを作り、 そのなかに ・担任名簿のサブレポート ・園児名簿のサブレポート をそれぞれ配置して、 どちらもリレーションはクラスにして下さい いかがでしょう?

Po-Ppo
質問者

お礼

回答ありがとうございました。 初めての質問で回答がくるかどうか半信半疑でしたので、とっても感激しました。  教えていただいたとおりにやってみました。 クラステーブルで作成したなかに担任名簿と園児名簿のサブレポートは作成できました。 担任も2名ずつ入ったレポートが作成できたのですが、今度は一クラスに担任が2名の名簿が2つずつできています。 これはリレーションシップの設定がどこかちがっているのでしょうか。 担任名簿はクラスでグループ化したほうがいいのでしょうか。

関連するQ&A

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

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

  • MS ACCESS 2003 サブレポート機能でメインレコードと関係の

    MS ACCESS 2003 サブレポート機能でメインレコードと関係のないレコードも表示される どなたかアクセスに詳しい方、教えて頂けませんでしょうか。 MS ACCESS 2003 にて、帳票印刷システムを構築しております。 ・請求ヘッダテーブル・・・顧客ID、顧客会社名、顧客氏名、住所 等 ・請求明細テーブル・・・顧客ID、請求明細名、単価、数量、小計 等 となっております。 こちらの状態で、顧客ID別(1人ずつ)に、紙面の上部に請求ヘッダテーブルの情報を羅列し、 紙面の下部に表形式で請求明細テーブルを表示するような形式の「レポート」を作成したいと考えております。 そこで、メインレポート/サブレポート機能を使って、上記を実現したいと思い、以下のような手順でトライしているのですが、サブレポート部分(デザインビューで見た場合の「詳細」部分)に、でメインレポート部分の顧客IDの請求明細データではないレコード(違う顧客IDの請求明細)まで表示されてしまいます。 ■リレーションを作成 ・メニュー「ツール」⇒「リレーションシップ」にて、請求ヘッダ-請求明細をひもづけ。 ・参照整合性にチェック。 ・結合の種類は「請求明細の全レコードと請求ヘッダの同じ結合フィールドのレコードだけを含める」。 ■レポートを作成 ・レポート⇒新規作成⇒レポートウィザードでレポートを作成。請求ヘッダのみの情報で作成。 ・デザインビューの詳細部分にて、サブレポートを呼び出し。請求明細テーブルを選択し、顧客ID、請求明細名、単価、数量、小計 等を選択。 上記のようにすると、顧客IDとは関連なく(正しい詳細データもそうでないデータも合わせて)10件の請求明細データが表示されます。 また顧客ID=1の場合も、次のページの顧客ID=2の場合もすべて同じ10件の明細データが現れます。 インプレスのアクセス本を参照しながら作業しているのですが、詳しくない分非常に苦労しております。 どなたか、なにとぞよろしくお願いいたします。

  • Access 複数テーブルのリレーションシップ

    Access2013  4種類の名簿をそれぞれのテーブル(4種類)で管理してありますが、 同じ方(氏名)が4種類の名簿全部には無く、2つや3つの名簿にばらばらにあります。  この4つのテーブルを同時に表示し入力できる分割フォームをつくりたいのですが、 この際の、4つテーブルの氏名をリレーションシップする結合プロパティの設定方法を教えて下さい。 あるいは、クエリのそれぞれのテーブルのフィールド(氏名)の抽出条件になんと書き入れたらよいか。教えて下さい。 宜しくお願いします

  • メイン/サブレポートのコントロール表示について

    環境:XP&ACCESS2003 サブレポートがメインレポートのほぼ中央に位置するレポートを作成しています。 サブレポートの下には、メインレポートのデータが数件表示されます。(連結コントロール) サブレポートの元となるテーブルのデータがゼロ件の時があります。 (受注番号で連結) サブレポートの元となるテーブルのデータがゼロ件の場合、メインレポートのサブレポート以下のデータがサブレポート分だけ上に表示される方法をご存知の方、教えてください。 よろしくお願いします。

  • 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は初心者なので,よろしくご教示下さい。よろしくお願いします。

  • accessで条件ごとにレポート印刷をしたい

    accessは初心者です。 顧客名簿テーブルを基に会社別にレポート印刷をしたいと思っています。 会社別にレポート作成、若しくは会社名を入力ごとに検索抽出しレポート作成をしたいと思っています。 どのようにすれば出来るのでしょうか? どなたか教えていただけますでしょうか。宜しくお願いいたします。 テーブル:顧客名簿 フィールド:会社名,氏名,住所,TEL,備考 レポート名:リスト

  • 複数のサブレポートの金額をメインレポートに合計する

    8月~7月の金額が表示されている3つのサブレポートを作成しています。 このサブレポートのレコードソースはクロス集計クエリで集計しています。 3つのサブレポートの[詳細]欄の各月の合計金額をメインレポートに表示したいのですが#NAME?エラーになります。 [サブレポート1]  [8月] 10,000  [9月] 12,000  [10月] 空白 [サブレポート2]  [8月] 13,000  [9月] 14,000  [10月] 15,000 [サブレポート3]  [8月] 16,000  [9月] 空白   [10月] 17,000 メインレポートの「詳細」に非連結のテキストボックスを作成し、コントロールソースを =Reports![サブレポート1]![8月]+Reports![サブレポート2]![8月]+Reports![サブレポート3]![8月] としています。 お手数ですが、どなたかご教授いただけないでしょうか?

  • ACCESS2000 VBAで印刷時にサブレポートのレコードソースを設定するには?

     フォーム画面にある複数の入力項目から検索条件文を作成、データを抽出してレポートに明細一覧を出力します。  親レポートはDoCmd.OpenReportのConditionで設定出来るのですが、そのレポートフッターにはサブレポートがあり、明細の小計や種別計、総合計を出力するのですが、このサブレポートのレコードソース(またはフィルタ)を設定するにはどうすれば良いのでしょうか?  ・サブレポートのオープン時にMe.Recordsource="SELECT * FROM …" だとエラーになり、オープン時には指定できないとのことでした。 親レポートとは親子関係もなく、使用するクエリーも別です。 VBAで設定するのは難しいのでしょうか?よろしくお願いします。

  • Access2000でのレポート作成。3

    ────┼────┼───┬───┼───┬───┼──┼───┬───┼   計  │    │礼金 │   │礼金 │   │  │礼金 │   │     │    │仲介料│   │仲介料│   │  │仲介料│   │     │    │更新料│   │更新料│   │  │更新料│   │     │    │その他│   │その他│   │  │その他│   │     │    │家賃 │******│家賃 │******│  │家賃 │******│     │    │共益費│***** │共益費│***** │  │共益費│***** │     │    │駐車場│***** │駐車場│***** │  │駐車場│***** │     │    │   └───┤   └───┤  │   └───┤     │    │ 計  ******│ 計  ******│  │       │ ────┼────┼───────┼───────┼──┼───────┼ まずは月別にしようと、月別の抽出クエリを作成し、「レポート用クエリまとめ_サブ_**(月名)」というようにしました。 そしてこれらからレポートを作成しました。 ┼───┬───┼ │礼金 │   │      ・      ・      ・ │駐車場│***** │ │   └───┤ │ 計  ******│ ┼───────┼  の部分がそうです。 そしてレポート一覧用テーブルからそのままレポートを作成し、「レポート用クエリまとめ_メイン」として、 上記で作成したサブレポートと関連付けようとしましたが、うまくいきませんでした。 どうやったらうまくできますか? 月別にクエリを作成しなくても、もっといい案がありますか? ※説明が下手でごめんなさい。 長々と読んでいただいてありがとうございます。 関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=176866 http://www.okweb.ne.jp/kotaeru.php3?q=176879

  • Accessの結合線をクエリのデザインビューで削除した場合、リレーションシップにも影響がありますか?

    Accessでクエリを作成時にデザインビューでテーブル間の結合線を削除しました。 リレーションシップで定義した結合線も自動的に削除されてしまうのでしょうか? リレーションシップも自動的に削除されると他のクエリにも影響がでるので大変な事になると思い、危惧しています。 どなたか教えてください。