• 締切済み

アクセスについて

ARCの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

基本的に、複数のデータを一気に書き換えるには、「更新クエリ」を使います。 例えば、「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:名前を付けて保存し、以後、学生テーブルを使う代わりに、このクエリを利用するようにする。 のようにします。 不明点等ありましたら、補足にてご質問ください。

関連するQ&A

  • ACCESS2000で

    小学生向け教材販売名簿を作成しようと思っておりますが、毎年4月になると学年が一つ増える(自動的に)ようにしたいのですが、どのようにするのですか。

  • ACCESS2000での年齢計算(数え)

    こんにちは。お寺関係で仕事してます。 テキストボックスに生年月日を入力すると、 隣のテキストボックスに行年齢(数え歳)が 自動的に数値として入力されるようにしたい のですが、どうしたらいいでしょうか。 満年齢と違って、生まれた歳を1才とし 1月1日を迎えると2才になります。 例えば、6月に産まれた子供は、来年の 6月まで0才ですが、行年齢では産まれたとき 1才で、1月1日になると2才になります。 満年齢では8ヶ月であっても、行年齢では 2才になります。 今年で何歳?と聞かれたときに、誕生日が 来ていなければ+1歳ですが、来ていれば そのままですよね。誕生日が来ている、 いなに関わらず「今年で*歳」に+1歳が 行年齢になります。 何分お寺ですので、どうしても行年齢が 必要なわけです。 初心者ですが、是非教えてください。

  • Excel 会員名簿作成にて

    名簿作成にて名前、年齢、誕生日入力にて 毎年、4月1日を起点に西暦を入力して年齢を自動入力するには どのようにするのでしょうか? 説明が上手くできずすいません。

  • ファイルメーカープロについて

    ファイルメーカープロでデータベースを作ろうと思っています. そこで質問なんですが、ある人の生年月日を入力したときに、そのときのその人の年齢が自動入力されるようにしたいんです.(たとえば平成10年生まれの人なら、誕生日がまだなら2歳、誕生日過ぎなら3歳となるように) 生年月日の設定の仕方、年齢のフィールドの定義の仕方、(あとデータを入力した日が自動入力されるようにしたほうが良いんでしょうけど)が、わかる方.教えてください.よろしくお願いします.

  • アクセス設計について

    こんにちは。初めてお教えを請います、よろしくお願いします。 医療機関の予防注射を受けるデータベースを作りたいのですが、もっとも肝心なのが生年月日と注射名を聞いたときに複数ある注射の適応年齢に合致しているかを確認できて、合致しなければエラーを表示する機能が欲しいのです。例は「麻疹」と指定され生年月日を聞いた時に16歳~17歳(4月~3月まで)になっていないと受付不可に自動的になる画面を作成したいです。使うのは素人の女性職員です。基本的なテーブルと入力フォームは作成できましたがこの期間指定が理解しきれません。フォーム画面で設定ができるのでしょうか?おおざっぱな内容で恐縮ですがよろしくお願いします。

  • ACCESS2000 で年齢を更新の仕方

    ACCESS2000 の初心者です 顧客管理の表をフォームにて作成いたしました。 その中で 生年月日 と 年齢 の 枠を作成いたしました それで 生年月日を入力すると 年齢が出てくる ように するのと 毎年の誕生日には年齢をプラス1才できるようにしたいのですが 初めて作成のため、全くわかりません。どうか宜しくお願いします。

  • MSアクセスで、指定した月日が来るとデータ更新

    こんにちわ。 お世話になっております。 MSアクセスで、指定した月日が来ると自動でデータ更新させる方法は有りますか。 たとえば、誕生日が来たら、自動で年齢が変わるとか、一月一日が来たら、自動で指定した項目のデータの値が1増えるといった事が出来ないでしょうか。 詳しい方ご教示頂ければ幸いです。 よろしくお願いいたします。

  • Access2007で社員マスターを作成しています。

    Access2007で社員マスターを作成しています。 入社年月日を基準として、基準日の時点での年齢を生年月日から自動計算させています。 =Int(DateDiff("d",[生年月日],[入社年月日])/365.25) ただし、法律上は、誕生日の前日に歳をとることになっていますので、そのように設定をしたいのです。 たとえば、入社年月日が2010/9/15で生年月日が1980/9/15の人は30歳で、入社年月日が同じく2010/9/15で生年月日が1980/9/16の人も30歳。入社年月日が2010/9/15で生年月日が1980/9/17の人は29歳というようにしたいのです。 宜しくお願い致します。

  • ACCESS 2003について

    現在一つの学生テーブルに1年~3年の個人情報が入っています。このテーブルから各学年ごとのレポートを作成したいのですが、設定の仕方がわかりません!全学生の情報が出力されてしまいます どなたか、ご教授ください!

  • 【Access2003】

    会社にてデータベースを作成して使用しています。 どのPCからでも入力出来る様にするにはどうしたら良いのでしょうか? 以前に同じ質問をさせて頂きましたが、うまくいかず・・・ 宜しくお願い致します。