学生のデーターベース作成について
年齢や学年が自動的に変わることは
できるのでしょうか?
たとえば誕生日がきたら、年齢があがるとか、
4月になったら学年があがるとかです。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

pussyfootさんの意見に賛成です。



ただし、単に計算しなさいと言っても年齢や学年を使用するアプリケーション毎に計算をしていては、バグが発生しやすくなってしまいますし、無駄が多いので、VIEWで取得できるようにするか、年齢や学年計算用のストアドファンクションを用意するのがいいと思います。

VIEWは、オラクルやSQLサーバーと言ったRDBにある機能で、ACCESSのクエリーのようなものです。

ストアドファンクションも、オラクルやSQLサーバーにある機能で、ACCESSのモジュールのようなもので、DBの中に用意することができる関数です。

なお、年齢はいいですが、学年は留年や休学があるので、自動的にと言うわけにはいかないのでは?
    • good
    • 0

データーベースの中身を更新するよりも、生年月日から年齢を計算して表示する方がスマートです。

学年についても同様です。
    • good
    • 0

基本的に、複数のデータを一気に書き換えるには、「更新クエリ」を使います。



例えば、「4月になったら学年が上がる」を行う為には、
1:クエリを新規作成する。学生テーブルを指定。
2:[クエリ]-[更新]と操作する
3:[学年]フィールドをダブルクリックして、クエリのフィールド部分に追加する。
4:[レコードの更新]のところに
[学年] + 1
と入力する。
5:クエリに名前を付けて保存する。
6:4月の1日になったら、このクエリを1回だけ実行する

のような操作で出来ますね。
4月の1日には、他にも卒業生の処理だとか、いろいろな処理が発生すると思いますので、これらを「年度更新」とか言う名前で一つの処理にまとめておき、それを実行するようにしたらいいと思います。


年齢についても、同様の操作で、
[年齢]フィールドを対象にした更新クエリを作って、[レコードの更新]のところに以下の式を記入し、データベースの起動時にでも実行してやれば、とりあえずは実現できます。
IIf(Month(Date())*100+Day(Date())>=Month([生年月日])*100+Day([生年月日]),Year(Date())-Year([生年月日]),Year(Date())-Year([生年月日])-1)

ちなみに、データベース起動時に何らかの処理をじっこうするには、マクロを新規作成して、任意の処理を記述し、名前を付けて保存で「AutoExec」という名前にして保存します。

あと、年齢については、osapi124さんも仰っているように、[年齢]フィールドを作らずに、常に[生年月日]からリアルタイムに計算した値を使うようにした方が、いい場合もあります。
(例えば、24時間データベースを起動しっぱなしにする場合とかは、上記のような「起動時に更新する」方式では、対応できません。)

学生データベースのような、
●一部の人間しか使わない
●1日の終わりには必ず終了する
システムの場合には、「起動時に年齢を更新」方式で十分な場合もありますが…

なおリアルタイムに年齢を計算するには、
1:クエリを新規作成(学生テーブルを選択)
2:全てのフィールドをクエリのフィールド部分に追加する
3:フィールド部分に、以下の内容を追加する
年齢:IIf(Month(Date())*100+Day(Date())>=Month([生年月日])*100+Day([生年月日]),Year(Date())-Year([生年月日]),Year(Date())-Year([生年月日])-1)
4:名前を付けて保存し、以後、学生テーブルを使う代わりに、このクエリを利用するようにする。

のようにします。
不明点等ありましたら、補足にてご質問ください。
    • good
    • 0

タイトルと内容の相関関係がわかりませんが・・・・・。



例えば「ある学校の全学生」をDBに入れて、リアルタイムに年齢や学年を
変更(日付連動で自動的に)することはできます。

「できるのか」という質問であれば答えは「できます」ですが・・。

で、art-cさんはその回答でよろしいのでしょうか?

どんな環境と目的で作成するのか、例えばart-cさんが学生で宿題レベル
の回答を探してるのか、学校職員で現実に構築を検討してるのか?
ごく簡単なものならエクセルでもできるし、もっと本格的なシステムにしたい
のか?

そのあたりがわかりませんと、答えられませんので、詳しい答えが必要なら
是非補足を入れてくださいね。

osapi124でした。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「学年」は英語で何と書きますか?

「学年」は英語で何と書きますか?

参加者に大人と子どもが混在しているイベントの申込書の英語版で困っています。
だいたい家族で申し込むので、参加者の名前などを書く欄は表になっています。
表に、名前、性別、年齢、学年、国籍の記入欄があるのですが、「学年」は何と書けばいいのでしょう?

表は添付のような感じです。
よろしくお願いします。

Aベストアンサー

こんにちわ^^高校3年の受験生です。

学年というのは英語でgrade[グレード]ですね。

Qワードで机とかテーブルとかイスとかをマークで表わしたい

ワードで机とかテーブルとか本棚とか椅子とかをマークというか記号というかで表わせますか?
ちょっとしたレイアウトを表示させたいのです。どなたか方法を教えてください。できれば簡単な方法だと嬉しいです。宜しくお願いします。

Aベストアンサー

オートシェイプで作成するのは駄目ですか?
長方形や楕円を組み合わせた単純な構造のもので、ご自分の中にそれなりのイメージがあるのでしたら、ひとつ30秒とか1分くらいでできますけど。

脚、台の部分などのパーツをまず作成し、後で組み合わせる。各パーツの重なりの上下(最前面、最背面)を右クリックで指定。各パーツをグループ化すれば移動、コピー&ペースト、拡大縮小もそれなりに容易になります。

Q英語で大学生の学年をどう表現するのですか?

英語力中学生レベルなので、質問します。

大学生の学年を1回生、二回生と表現しますが、これをある大学生の多い道で無作為に日別時間別にアンケートして、全てデータに残したいと思っています。

そこで、アンケートの結果を入力するデータベースのテーブルの項目名をなんとつけるかで、友人ともめたので、適切なアイデアを下さいませ。
項目名は、英語で、半角、文字数は特に規定は無いけれど、単純なテーブルなので、長くても20文字程度までと考えています。
大学生の「学年」をデータベースの項目名にする場合適切な意味の通る英語表現をアドバイス宜しくお願いします。

Aベストアンサー

大学生の学年をそれぞれ項目にするのでしたら、
1年:freshman
2年:sophomore
3年:junior
4年:senior
が妥当だと思います。

それとも、「学年」を項目名にして、そこに1、2などの数値を入力するのでしょうか。
その場合、gradeという表現でよいと思います。

QAccessでデーターベース分割

Access2002でデータが多くなって来た事と、何人かでデータを共有しているのでデータベース分割したいのですが途中で「Error 3052」がでて
しまい分割が出来ません。
どうしたらよいのでしょうか。宜しくお願い致します。

Aベストアンサー

きっと、データベース分割ウィザードでやってるんですよね?
このウィザードの実行結果は、テーブルを別のMDBファイルに移して、元のテーブルは全てリンクテーブルに変更するだけなので、ウィザードが正しく動かないのであれば、手作業が手っ取り早いかもしれません

(1)空のデータベースを作成する(新規MDBファイルを作成)
(2)空のデータベース上でリンクテーブルを作成する
(3)空のデータベース上でテーブル以外のオブジェクト(クエリ、フォーム、レポート、マクロ、モジュール)をインポートする

以上で分割完了です

エラーの原因ですが、もしかすると、アクセスのインストール時にリンクテーブルマネージャがインストールされてないから(標準インストールではインストールされない)エラーになるのかもしれませんね。
ファイル分割したあとは、パスの変更があった際にリンクテーブルマネージャでリンク先の変更をしないといけないので追加インストールしておくことをお勧めします

ただ、他の回答者さんのいうとおり、データ量やデータ共有の解決策にはならないかもしれません。
私は、データとアプリケーションを分けることで、アプリケーションにバグがあった場合に、修正後のアプリケーションを再配布時に上書きするだけで済むようにするために分割することが多いです

きっと、データベース分割ウィザードでやってるんですよね?
このウィザードの実行結果は、テーブルを別のMDBファイルに移して、元のテーブルは全てリンクテーブルに変更するだけなので、ウィザードが正しく動かないのであれば、手作業が手っ取り早いかもしれません

(1)空のデータベースを作成する(新規MDBファイルを作成)
(2)空のデータベース上でリンクテーブルを作成する
(3)空のデータベース上でテーブル以外のオブジェクト(クエリ、フォーム、レポート、マクロ、モジュール)をインポートする

以上で...続きを読む

Q高校の英語教科書は学年無指定?

メインストリームのリーディングコース(英語で書かれてますが)といえば、高校3年生に決まってますか。それとも学年の指定はありませんか。教科書番号らしいものに「英R 024]とありますが

Aベストアンサー

普通は、学年別に、Reading Course I とか II とか
書いてあるのですが、学校の方針(英語担当の先生達の方針)によっては、
IIとあっても、一年生で使用するところもあるかと思われます。
また文系・理系のクラスによっても違うかもしれません。
1から始めて、一年の秋位からII に入ってしまうところもあるようです。
内容の難易度に関しては、以下のサイトが参考になるでしょうか。

参考URL:http://www.zoshindo.co.jp/Ms_Ns.htm#itiran

Qデーターベースの分割(Access 2007)

 お早う御座います。

 VISTA Office 2007 Access 2007です。
 Access 2007になってデーターベースの分割が出来るようになりましたが、色々と本を読むと「テーブル
(バックエンドデーター)とフロントエンドに分割し、ユーザーが自由にアウトプットを表現出来るようになっている」
と書かれていました。
 これは一体どのような意味でしょうか。

 つまり、一番データーの元となるデーターはバックデーターとして、管理者が管理し、ユーザーはデーター入力フォーム
からのデータの更新、クエリの作成、アウトプットのみを行うというシステムなのでしょうか。

 それなら、具体的には、一体どの部分とどの部分が分割されるのでしょうか。
 また、両者(バックエンドとフロントエンド)がハード的に遠隔地にある場合には、データの更新時、クエリの作成時には、
元のバックデーターとはどの様にハード的に繋がるのでしょうか。
 元のバックデーターと同じものが、フロントエンドにもあるのでしょうか。それならあまり意味がないようにも思えるのですが。
 また、このように分割することはどのようなメリットがあるのでしょうか。

 お早う御座います。

 VISTA Office 2007 Access 2007です。
 Access 2007になってデーターベースの分割が出来るようになりましたが、色々と本を読むと「テーブル
(バックエンドデーター)とフロントエンドに分割し、ユーザーが自由にアウトプットを表現出来るようになっている」
と書かれていました。
 これは一体どのような意味でしょうか。

 つまり、一番データーの元となるデーターはバックデーターとして、管理者が管理し、ユーザーはデーター入力フォーム
からのデータの更新、クエリの作...続きを読む

Aベストアンサー

#1です。参照URLはAccessの機能の分割に飽きたらず、自分で同様の仕組みを構築する話なので、ちょっと不適切だったかもしれません。
全くの独学ですが、Access2000で作ったデーターベースを数人で使用しています。
フロントエンドと、バックエンドに分割し、バックエンドは、システム部門が管理しているサーバーに置いています。
フロントエンドは、ユーザーそれぞれのPCに存在しています。
複数人で同時アクセスするとトラブルにつながり易いそうなので、帳票フォーム等にデータを読み出す時は、読み出すだけの形式を指定して、フロントエンドとバックエンドが接続されている時間を最小限にする様に気を遣っています。
独自に、昼休み等にバックエンドのバックアップを取る仕組みは作ってありますが、万一使用中でバックアップが取れなかった場合でも、システム部門のサーバーに、前夜の状態のバックアップは取られていると思います。
と、言うことで一番のメリットはデータの保護かと思います。
他のご質問については、ご自分で分割して操作してみた方が話は早いかと存じます。百聞は一見にしかずと...

#1です。参照URLはAccessの機能の分割に飽きたらず、自分で同様の仕組みを構築する話なので、ちょっと不適切だったかもしれません。
全くの独学ですが、Access2000で作ったデーターベースを数人で使用しています。
フロントエンドと、バックエンドに分割し、バックエンドは、システム部門が管理しているサーバーに置いています。
フロントエンドは、ユーザーそれぞれのPCに存在しています。
複数人で同時アクセスするとトラブルにつながり易いそうなので、帳票フォーム等にデータを読み出す時は、読み出すだけ...続きを読む

Qアメリカ人の友人が書いた、英語の物語(幼児から小学低学年向け)を、英語

アメリカ人の友人が書いた、英語の物語(幼児から小学低学年向け)を、英語のままで出版することを希望しています。 内容は女の子と魔法のギターのお話で、わかりやすい英語でかかれています。英語教育などに使ってもらえたらと考えています。なにか、無料で出版する方法はないでしょうか?
よろしくお願いします。

Aベストアンサー

無料で出版は無理ではないかと思います。
「無料出版できます」なんて出版社でも、
なんだかんだお金は取られることでしょう。

PDFやePub形式にして、オンラインで公開する
という手段なら、完全無料で出版可能ですが…。

Qデーターベース分割ツールで作成するリンクテーブルの名前「be」とは?

データーベース分割ツールでリンクテーブルを作成すると
自動的に「現在のファイル名_be.mdb」と言う名のファイル名が作成されるのですが
「be」はどういう意味でしょうか?
バックアップのbackupの「ba」なら理解できるのですが、「be」は何なのでしょう?

Aベストアンサー

多分ですが
Back End

Q小学校高学年の英語の授業の仕方

学校の授業で、模擬授業を行うことになったのですが、
何をどんな風にしていいのかわかりません。設定は小学校高学年から中学1年生位を相手に、英語のOralの授業を行いたいと思います。時間は1時間で、歌を取り入れたいのですが、生徒が退屈にならず、且つ楽しく英語を覚えれるような授業にしたいんです。生徒に興味をもってもらうような形で、何かお勧めのものがあれば教えてください。よろしくお願いします☆

Aベストアンサー

こんにちは。公立小学校で6年生に英語を教えていたことがあります。
参考になればいいのですが・・・。
まず生徒に身体の部位や色などの単語を少し教えます。
(先生が発音した後で繰り返させるなどの方法でいいと思います。)
それから、勉強させた単語を一枚の紙に一単語ずつ大きく書き(もしくは書かせて)それを生徒に二枚ぐらいずつ配ります。
そして先生が単語を一つずつ読み上げ、自分の持っているカードの単語が読まれたら、カードを上げるように指示してください。
これで、生徒の間に緊張感も生まれ、授業中は静かになるし、全ての生徒が参加できるようになるので、楽しく覚えられると思いますよー。
慣れてきたら、生徒それぞれに担当させるカードの量を増やしたり、生徒を指名して、単語を読み上げる先生役をさせたりしてもいいかもしれません。

前出ですが、身体の部位でしたら、head shoulder knee and toeで踊りながらおさらいできれば、楽しいですね。

QIEとかNNとかに組み込むFLASHのプラグインを削除するには?

現在FLASHのHPを作成している者です。
いろいろなHPで活用されている「FLASHのプラグイン」ですが、
インストールは簡単なのですが、このプラグインの削除をして、
プラグインが無い場合に、どういう表示になるのかを確認したいのですが、
削除の仕方が分かる方いらっしゃいましたら、
ご回答のほどよろしくお願いいたします。

Aベストアンサー

参考URLに、Flash Player のアンインストール方法 があります。

参考URL:http://www.macromedia.com/jp/support/players/ts/documents/pl0100.html


人気Q&Aランキング

おすすめ情報