プロが教える店舗&オフィスのセキュリティ対策術

|学年|クラス|出席番号|氏 名|教科名|
=====================
|1 | A | 1  |青 木|音楽 |
|1 | A | 1  |青 木|美術 |
|1 | A | 1  |青 木|国語 |
|1 | A | 1  |青 木|数学 |
|1 | A | 1  |青 木|英語 |
|1 | A | 2  |有 安|音楽 |
|1 | A | 2  |有 安|美術 |
|1 | A | 2  |有 安|国語 |
|1 | A | 2  |有 安|数学 |
|1 | A | 2  |有 安|英語 |

上記のようなテーブルのデータを

|1 | A | 1  |青 木|音楽 |美術 |英語 |国語 |数学 |
|1 | A | 2  |有 安|音楽 |美術 |英語 |国語 |数学 |

のように、フォームで表示させることができるでしょうか?
できる場合、どうようにすればいいのでしょうか?どなかた宜しくお願いします。

A 回答 (3件)

サブフォームを利用すると良いと思います。


学年データのみを表示させる単票フォームを1つ用意いたします。
レコードソースは学年テーブルか集計クエリを利用します。
これが親フォームになります。

これに、先ほどつくったクロス集計フォームをサブフォームとして貼り付けてやり、学年でリンクを取ります。

これで、親フォームで学年別データが表示され、かつ移動ができるようになります。
ウィザードを利用すれば簡単にできると思います。

頑張ってください。
    • good
    • 0

まず、クロス集計クエリを作ります。


次に、そのクエリを元に帳票フォームをつくることで実現いたします。

クロス集計はウィザードによりつくることができます。
今回の場合ですと、
クエリの「新規作成」→「クロス集計クエリウィザード」から元となるテーブルを選択いたします。
次に行見出し用のフィールドを設定します。
今回の場合、学年、クラス、出席番号、氏名の4つですね。
(但し、行見出しは3フィールドしか選択できないため、事前に学年、クラスをまとめておく必要があるでしょう。
例:3-A、3-B・・・)
次に列見出し用のフィールドを設定します。
今回の場合、教科名ですね。
実際の値には、点数なり、教科名を合計、先頭として設定すればよいと思われます。

これで、要求されるような表示がなされると思います。
あとは、フォームのレコードソースをクロス集計クエリに設定してやればOKです。
    • good
    • 0
この回答へのお礼

ありがとうございます!参考になりました!!

お礼日時:2002/04/26 17:29

クロス集計クエリーを使いましょう。


簡単に説明しますと、
クエリーのデザインビューでまずクロス集計を選びます。
表示するフィールドはそれぞれの項目です。
ここで教科名のフィールドを一つ余分に作ります。
学年|クラス|出席番号|氏名|教科名|教科名
となりますね。
次に行列の入れ替えのコンボボックスを選択して
行見出し|行見出し|行見出し|行見出し|列見出し|値
とします。
そして集計は
グループ化|グループ化|グループ化|グループ化|グループ化|先頭
としておきます。必ずしも先頭を選ぶ必要はありませんが。
これをデータビューで見てみましょう。
どうですか。
いろいろ触って思いどおりになるようにしてみてください。
それでは。

この回答への補足

ありがとうございました。スゴイっ!と思いました(^^)

追加で申し訳ないのですが、上記のクロス集計クエリの学年のところに
下記のwhere条件を入れると、有効なフィールド名、または式として認識できません。と表示されてしまいます。。。(T_T)

[Forms]![画面]![学年]

画面には、学年という項目を作ってあります。単純に条件に1や2を入れるとうまくデータビューが表示されます。

補足日時:2002/04/26 17:03
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!