アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんなことを考えています。
氏名  生年月日
Aさん 1950/8/8
Bさん 1988/10/8
 :    :

このテーブルを表形式フォームでそのまま表示し、
各レコードの後ろに「年齢」という非連結フィールドを
作って、そこに人ごとの年齢を計算して入れたいのです。

この場合表形式フォームが妥当なのかどうかもわかりません。
ただ、年齢の計算はそのフォームを開いた日で計算するので、
テーブルに年齢というフィールドは作りたくありません。

どんな方法がありますか?

A 回答 (4件)

帳票形式のフォームをデザインビューで開き


年齢コントロールボックスのコントロールソースを
=DateDiff("yyyy",[生年月日],Now())+(Format(Now(),"mmdd")<=Format([生年月日],"mmdd"))
としてみて下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
確かにできるのですが、やりたかったのはテーブルを1レコードずつ
ではなく、全レコード表示した状態でおのおの年齢を計算して表示
したかったのです。(表形式にしたのはそのせいもあります。)
うまく伝わらなくて申し訳ございません。

他に方法はありますでしょうか?

お礼日時:2006/04/18 23:59

まず、No2において間違えてました。


帳票形式のデザインビューでコントロールソースをして置けば、データシートビューでも「年齢」は表示されますね (^_^;)

ご質問者のおっしゃているのは単票形式でのことではないかと思うのですが?
こちらの勘違いでしたらご容赦を願います。
    • good
    • 0
この回答へのお礼

大変申し訳ございません。
NO.1のご回答でできることを確認しました。
私自身何か混乱しておりました。
さんざん踊らせてしまい、申し訳ございません。
ありがとうございました。

お礼日時:2006/04/20 23:44

No1です


???
帳票形式であれば全レコードで、それぞれの年齢が表示されますけど?

データシートビューであれば、クエリにて
年齢:DateDiff("yyyy",[生年月日],Now())+(Format(Now(),"mmdd")<=Format([生年月日],"mmdd"))
を追加してやる必要があるとは思いますが・・・
???
    • good
    • 0
この回答へのお礼

あれ?おかしいな・・・
帳票形式では同時に1レコードしか表示されないと思うのですが・・・。
レコード移動させずに1画面ですべてのレコードを見たいのですが、
可能でしょうか?

お礼日時:2006/04/20 00:47

クエリーで年令を計算するフィールドを追加して、このクエリーを


フォームのレコードソースにするという手もあります。
Date系関数を使えば現時点(フォームを開いた日)での年令計算ができます。
#1さんの言われている、「フォーム上で計算させる方式」との違いは、
クエリーにしておくと「特定の年令の人を絞り込める」などでしょう。
ただ、年令の絞り込みなら生年月日を使っても出来ますから、あまり
意味がないかも...
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
クエリーですか。確かにそれならできそうな気がしますね。
ちょっと挑戦してみます。
ありがとうございました。

お礼日時:2006/04/19 00:01

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A