- ベストアンサー
ファイルメーカーPRO5で質問です。
ファイルメーカーPRO5を使用して社員データベースの管理をしていますが、立ち上げる度に自動で年齢を更新出来るような設定は出来るでしょうか? 今は新規のレコード追加時に自動で日にちを入力させ、生年月日から計算させていますが、新規以外のレコードはその時の日にちが残っているため、手入力で変更しています。 この部分を立ち上げると同時に自動更新(立ち上げた日にちに)できないものかと考えています。 ご存知の方、宜しくご指導願います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
生年月日のフィールドがあるなら,「満年齢」って計算フィールドを作って If(Month(today)*100+Day(today)<Month(生年月日) * 100+Day(生年月日) ,Year(today) - Year(生年月日)-1 , Year(today) - Year(生年月日)) と定義すればオッケーです。
その他の回答 (3)
- redowl
- ベストアンサー率43% (2140/4926)
#2です。先の回答の数式で求まる年齢は、閏年(366日)を考慮した計算ではないので、アバウトです。 正確な、年齢を求めるのであれば =If((Month(Today)>Month(生年月日)) or ((Month(Today)>=Month(生年月日) and(Day(Today)>=Day(生年月日))),Year(Today)-Year(生年月日),Year(Today)-Year(生年月日)-1) になります。
お礼
度重なるごご指導ありがとうございます。
- haruka47
- ベストアンサー率50% (75/150)
今日の日付を表示させるフィールドを作って、それと生年月日から計算させればいいと思います。 「今日」フィールドを計算で「=Today」計算結果を「日付」にすれば 立上げた日が自動計算で入るようになると思うのですが・・・いかがでしょうか?
お礼
大変失礼致しました。 なにぶん素人なため、大変ご迷惑をお掛けしました。 助かりました。 ありがとうございました。
補足
ご回答ありがとうございます。 私の質問の仕方が不明瞭ですいません。 #1さんに補足したようなことがしたいんです。
- redowl
- ベストアンサー率43% (2140/4926)
Today関数 を使います。 「生年月日」フィールドとToday関数 で以下のように。 =Int((Today-生年月日)/365) 年齢 フィールドを作り 上記の計算式を入力します。
お礼
大変失礼致しました。 なにぶん素人なため、大変ご迷惑をお掛けしました。 助かりました。 ありがとうございました。
補足
ご回答ありがとうございます。 私の質問の仕方が不明瞭ですいません。 #1さんに補足したようなことがしたいんです。
お礼
大変失礼致しました。 この方法でうまく行きました。 なにぶん素人なため、大変ご迷惑をお掛けしました。 助かりました。 ありがとうございました。
補足
ご回答ありがとうございます。 私の質問の仕方が不明瞭ですいません。 この方法ですと新規レコードを作るときは有効ですが(今そのようにしています)、そのレコードは1年後にも作成した当時の年齢のままになっていると思うんです。 新規レコードを作成せず入力済みのデータの更新がデータベースファイルを立ち上げたと同時に更新できるようにしたいのです。 たとえば1年前に作成したAさんの年齢を、そのレコードに手を加えることなくファイルを立ち上げた時に自動で計算するように(年齢が、立ち上げた日ごとに変わっていくように)したいのです。