人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Microsoft Accessの質問です。生徒の体育の記録のデーターベースを作ろうとしています。生徒は計測するたびに記録を更新していくのですが、そのたびに新しいデーターを新しいフィールドを作って入力していると、その分フォームも作り替えないといけないし、新しいフィールド名をいちいち入力するのも面倒くさいし困っています。かといって一つのフィールドの個人のレコードに文字数を増やして過去から現在までの記録を改行しつつ沢山入力していくと、集計や、クエリの関数を使うときに困ってしまいます。何かよい方法はないでしょうか?よろしくお願いいたします。

●質問者: July_Star
●カテゴリ:コンピュータ
✍キーワード:access Microsoft クエリ データ データーベース
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

たぶん生徒の名前か出席番号が主キーのデータベースになっているのではないかと思うのですが、

生徒テーブルと記録テーブルを分離すればいいと思います。

記録テーブルには

ID(主キー)、日付、名前、種目、記録

のようにして、名前で生徒テーブルと関連付けます。

計測するたびに記録テーブルに登録していき

集計のときにSQLを使って生徒名や日付などで抽出すればいいと思います。

◎質問者からの返答

生徒テーブルと記録テーブルはすでに分離しております。記録テーブルのフィールドが増えていくので困っております。あと、SQLは難解そうなのでできれば避けたいです。ほかにいい方法があったらお願いいたしますm(_ _)m。


2 ● kn1967
●35ポイント

横に伸ばすという考え方は表計算で用いるものであって、データベースで用いる考え方は1/で回答いただいているとおりに1記録1レコードとしておいて必要に応じてレコードをセレクトする、というものになります。


とりあえずの逃げ的な発想ですが、

生徒コード

最新記録日時

最新記録

最低記録日時

最低記録

最高記録日時

最高記録

履歴 ←メモ型・ここに過去の履歴を書き加えていく

といったような構成ではどうですか?

メモ型なら多少は自由度高いです。


ただし、あくまでも一時的な措置です。

SQLから逃げるということはリレーショナルデータベースを用いる利点を放棄している事に他なりません。

学校の先生というお立場に立つことが出来た方ならば数日で基礎はマスターできるはずですから、ぜひとも学んでください(自ら学ばずして人に教えるべからずです)

◎質問者からの返答

実は、「逃げ的な発想」に書いていただいた内容が現在私が取っている対策でした。と、いうことは、SQLは避けて通れないということですね。早速勉強したいと思います。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ