- ベストアンサー
ACCESS2000で
小学生向け教材販売名簿を作成しようと思っておりますが、毎年4月になると学年が一つ増える(自動的に)ようにしたいのですが、どのようにするのですか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
学年は処理をするタイミングによって変わってきますよね。そして、業務管理システムの場合は処理をするときというのは必ずしも「現時点」でないことはよくあります。たとえば3月31日に4月1日のデータを処理したいときもあれば逆の場合もありうるでしょう。 ですから、基本となる個人データに「学年」というデータを含ませると処理がややこしいことになります。 こういった場合は、個人データには「生年月日」とか「入学年月日」という"学年を算出する基準となる"データを持たせておくようにしておきます。(ただし稀に例外が発生する可能性もありますが・・・) データを処理(画面に表示するとか紙に出力するとか)するときに「学年」という情報が必要になれば、その都度 "学年を算出する基準となる"データと「処理基準日」から計算をするという仕組みにしておきます。 これはクエリーをひとつ挟み込むだけで済むでしょうから、その都度行う仕組みにしておいてもそれほど処理速度に影響するような大変な処理ではありません。 また、「処理基準日」は規定値として"現時点"としておき、例外処理の際には使用者が変更できるようにしておけばよいでしょう。 こういった仕組みにしておきますと、卒業者や未入学者も個人データとして持っておけますので、データ利用の幅も広がると思います。
その他の回答 (3)
- happypoint
- ベストアンサー率36% (521/1422)
>毎年4月になると学年が一つ増える 現在の学年を自動的に求めたい、ということでしょうか。 テーブルの仕様にもよるでしょうが、以下のようなデータは入力する場所がありますか? ・入学した年度 ・第何期入学 ・生年月日(これは場合によっては使えないこともある) これらの情報がひとつでもあれば、自動的に求めることができるはずです。 例:2003年度入学なら、2003年度は1年生ですね。 他の学年も、引き算で求められませんか?・・・ まちがっても「学年」の数値データを入力しようとしてはいけません。
- kbannai
- ベストアンサー率32% (88/268)
学校教員をしており、仕事で在籍名簿を作成して活用しています。 新年度の学年を変えるには、置換クエリーか更新クエリーで新学年に変更するのが良いと思います。 私の場合は、テーブルに予め年度別に学年クラスを記録できるようにしており、クラス替えをして確定した後、置換クエリを実行しています。
- MovingWalk
- ベストアンサー率43% (2233/5098)
>毎年4月になると学年が一つ増える(自動的に)ようにしたいのですが 発想を変えて、1年生の時の年度を記録しておけばいいのではないでしょうか? あとはご自分で考えてください。
お礼
ご回答どうもありがとうございます。 アドバイスが参考になり、なんとか 解決いたしました。
お礼
ご回答どうもありがとうございます。 アドバイスが参考になり、なんとか 解決いたしました。