• ベストアンサー

アドバイスください! クエリについて

こんにちわ! お分かりの方、どうかアドバイスください! 以下でテーブルを作成しています。 「生徒マスターテーブル」 ID,名前 1,山田 2,佐藤 3,山下 4,小泉 「テスト実施内容テーブル」 ID,名前,実施月,テスト結果,テスト内容 1,山田,2006/9月,60,算数 2,佐藤,2006/9月,60,算数 3,山下,2006/9月,60,算数 4,小泉,2006/9月,60,算数 1,山田,2006/10月,, 2,佐藤,2006/10月,, 3,山下,2006/10月,, 4,小泉,2006/10月,, そこでフォームのためのクエリ作成なのですが、 9月,10月を纏めて入力できるクエリを3つ作成しました。 1・9月のクエリ(実施月で抽出) 2・10月のクエリ(実施月で抽出) 3・9月、10月のクエリ しかし、、これって3つもクエリ作成する必要があるのかが疑問です。 できれば一つのクエリで解決したいと考えております。 ちょっとわかりずらくて恐縮ですが、アドバイスいただける方どうか ご教示いただけると非常に助かります。 、、テーブルの設計についても「もうすこし、こうしたほうがいい」 などのアドバイスがいただけるとありがたいです。 どうぞ宜しくお願いします。

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

  • ベストアンサー
noname#22222
noname#22222
回答No.3

<生徒マスター> ID   名前 1   山田 2   佐藤 3   山下 4   小泉 <テスト履歴> ID 生徒マスター_ID 実施月 得点 科目 1 1         2006/09 60  算数 2 2         2006/09 60  算数 3 3         2006/09 60  算数 4 4         2006/09 60  算数 5 1         2006/10 10  算数 6 2         2006/10 10  算数 7 3         2006/10 10  算数 8 4         2006/10 10  算数 と、多少、テーブル設計を修正。 1、[ツール]-[リレーションシップ]をクリック。 ・画面を右クリックして2つのテーブルを追加。 ・履歴の生徒のIDと生徒マスターIDを結ぶ。 ・結合の種類は3がよい。 これで、テスト履歴に生徒の名前は必要なくなります。 2、[テスト履歴.生徒マスター_ID]が、[生徒マスター.名前]を表示するには。 ・[テスト履歴]をデザインで開く。 ・列[生徒マスター_ID]をクリック。 ・下段の<ルックアップ>をクリック。 ・表示をコンボボックスに修正。 ・値集合ソースをポイントし[...]をクリック。 ・生徒マスターのID、名前を選択し閉じる。 ・列数=2 ・列幅=0;3 これで、[生徒マスター_ID]列には[生徒マスター.名前]が表示されて選択すれば[生徒マスター_ID]には[ID]が入力されます。 ルックアップ機能付加後の<テスト履歴>を開くと次のようです。 ID 生徒マスター_ID 実施月  得点 科目 1    山田    2006/09  60  算数 2    佐藤    2006/09  60  算数 3    山下    2006/09  60  算数 4    小泉    2006/09  60  算数 5    山田    2006/10  10  算数 6    佐藤    2006/10  10  算数 7    山下    2006/10  10  算数 8    小泉    2006/10  10  算数 3、単純に、まず、クエリを生成。 まず、欄順に、[テスト履歴]だけのクエリを作成します。 これで、生徒の氏名も表示されますので心配いりません。 4、質問の答え。 実質月の検索条件を右クリックしてズーム。 IN ([参照する月を入力して下さい!],[別の月も指定することが出来ます!]) をコピー。 これで、'2006/09'に続き'2006/10'と'抜きで入力すれば2月参照します。 1月でよければ2つめは{Enter}を入力します。

E-7MX
質問者

お礼

s_huskyさま 完璧にいつも回答いただき、、本当に感謝しております! 少しはまともなアクセス作成が出来そうです!!

その他の回答 (3)

noname#22222
noname#22222
回答No.4

s_husky です。 X まず、欄順に、[テスト履歴]だけのクエリを作成します。 O まず、単純にに、[テスト履歴]だけのクエリを作成します。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

フォーム上に期間From,期間Toのテキストボックスとフィルタの実行ボタンを設けて フィルタを設定する方法でも出来ます。

  • mircle
  • ベストアンサー率16% (67/409)
回答No.1

パラメータークエリにされたらいかがですか? その都度 条件を入れる必要がありますが、1つのクエリで済みます。 1,2の場合 抽出条件のところに 例えば、[実施月で抽出]というパラメータを入れれば可能だと思います。 3の場合も同様にパラメータクエリのOR条件で可能だと思います。

関連するQ&A