テーブルの生年月日から年齢を出したいのですが、どのようにしたらいいのでしょうか。

A 回答 (2件)

現在の日付からですよね?


クエリーで下記のように記述します。

IIf(Right(Format([生年月日],"yyyy/mm/dd"),5)>Right(Format(Now(),"yyyy/mm/dd"),5),DateDiff("yyyy",[生年月日],Now())-1,DateDiff("yyyy",[生年月日],Now()))

1周間ほど前に同じ質問に答えたので・・。
    • good
    • 0

フリーソフトもありますよ。



1.歳君・・・・・・生年月日から年齢を教えてくれる
          誕生石などの情報も豊富

2.日付検査Ver1.1 for Access97・・・・・・ベネテック計算機事務所 作
          Access2000に対応するかどうかは不明ですが、このソフトを
          手直しすると、テーブルのデータを加工できます。
           テーブルデータを追加し、レポート作成・表示
         

参考URL:http://www.synapse.ne.jp/~benetec/benetec/benete …
    • good
    • 0

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

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

QACCESSで生年月日より年齢を出す方法は?

datediff関数を使うとなんとか近い物がでてくるのですが、アクセスで年齢の表示を「28歳と11ヶ月です。」というような表現でフォーム上に表示させたりするにはどういった手法をとれば宜しいでしょうか?

それから組み込み関数でDATEDIFFを組み込むと

DateDiff (<interval>, <date1>, <date2>, <firstweekday>, <firstweek>)

っというように表示されますが、各々にはどういった処置をすればいいのかどなたか教えて下さい。

アドバイスの程宜しくお願いします。

Aベストアンサー

#1さんの方法では、2003/11/30 に生まれた人が、2003/12/1 になると
1日より経っていないのに、もう1ヶ月 となってしまいます。

そのように起算するなら、この方法で良いでしょう。

しかし、通常の数え方のように誕生日(ここでは日にち)を迎えていない場合に
-1 して計算する場合は、次のようにすると良いでしょう。

ユーザー定義関数にしました。

使い方は、「モジュール」の「新規作成」に下記コードを貼り付けます。

クエリで使用する場合は、
 年齢:NenreiYM([生年月日])

フォーム等で非連結コントロールに計算式として使用する場合、
 =NenreiYM([生年月日])

のように設定します。

Function NenreiYM(BirthYMD As Date) As String
  Dim M As Integer
  M = DateDiff("M", BirthYMD, Date) + (Day(Date) < Day(BirthYMD))
  NenreiYM = M \ 12 & "歳" & M Mod 12 & "ヶ月"
End Function

#1さんの方法では、2003/11/30 に生まれた人が、2003/12/1 になると
1日より経っていないのに、もう1ヶ月 となってしまいます。

そのように起算するなら、この方法で良いでしょう。

しかし、通常の数え方のように誕生日(ここでは日にち)を迎えていない場合に
-1 して計算する場合は、次のようにすると良いでしょう。

ユーザー定義関数にしました。

使い方は、「モジュール」の「新規作成」に下記コードを貼り付けます。

クエリで使用する場合は、
 年齢:NenreiYM([生年月日])

フォーム...続きを読む

QAccessで生年月日から現在の年齢を求めるには?

Access2002を使用しています。
生年月日のフィールドに「1965/05/01」を入力しているとします。
その場合、現在の年齢フィールドに今日現在の年齢の「41歳」と出すようにするにはどういった式をどこに入れればよいでしょうか?

また、現在の年齢と何ヶ月かまで求めることは出来ますか?
例えば上記の例ですと、「41歳3ヶ月」と。
勿論、何ヶ月というフィールドは別に作ってもOKです。

どうぞよろしくお願い致します。

Aベストアンサー

>すようにするにはどういった式をどこに入れればよいでしょうか?
下の式を出したいところに書きます
年齢: DateDiff("yyyy",[誕生日],Date())+(Format([誕生日],"mmdd")>Format(Date(),"mmdd")) & "才"

>年齢と何ヶ月かまで求めることは出来ますか?
(DateDiff("m",[誕生日],Date())+(Format([誕生日],"dd")>Format(Date(),"dd")))\12 & "才" & (DateDiff("m",[誕生日],Date())+(Format([誕生日],"dd")>Format(Date(),"dd"))) Mod 12 & "ヶ月"

Qアクセスのテーブルでコードを入力したら名前が出るようにしたい

アクセス初心者です。

アクセスのテーブルで、コードナンバー(例:01)を入力したら隣のフィールドに自動でそのコードに対する値(例:東京)を表示させたいと思っています。

コードとそれに対応する値(例:01 東京・02 名古屋)というようなテーブルは作ってあります。

クエリやフォームではできるようなのですが、テーブルでそのような事はできないのでしょうか・・・。

宜しくお願い致します。

Aベストアンサー

少し違うかもしれませんが、もしやりたい事が入力の手間を省きたいと言う事であればこの方法ではいかがですか?

まず、東京という値を格納するフィールドの『ルックアップ』タブ(通常テーブルのデザインモードで開いた場合は『標準』タブが見えてます)の『表示コントロール』の所をリストボックスかコンボボックスを選択します。
『値集合ソース』に作ってある『それに対応するテーブル』の名前を指定します。(『01 東京』の場合、01のフィールドは不要です)
これでデータシートビューのテーブルからコンボで選択して入力する事ができますよ。

Qアクセスのテーブルに別のテーブルを加えて一つのテーブルにしたい

エクセルファイル内の複数のシートをインポートして複数の同じフォーマットのテーブルを作る所まではできました。次のその複数のテーブルをまとめて、一つのテーブルにしようと思ったのですが、その方法がわかりません。どなたか教えてください。

Aベストアンサー

インポート済みのテーブルの
フィールド名・データ型・並び順が一緒だとして
ユニオンクエリでまとめてからそのクエリを元にテーブル作成クエリを作成しては?
クエリのデザインビューでは出来ないのでSQLビューで行います。

select * from テーブル名1
union all
select * from テーブル名2
union all
select * from テーブル名3
;

↑をテーブル名を実際のものに替えて
SQLビューにコピペ。このクエリが出来たら後はテーブル作成クエリですが
クエリウィザードで出来ると思います。

Q生年月日から「大卒後何年」かを出す(Excel)

こんにちは。
タイトルの通り、生年月日から大卒後何年目かを
算出する方法(Excelで)を知りたいのですが
出来ますか?
もちろん浪人など関係なく、単純に4年生大学を
卒業して現在何年目なのかを出したいです。
よろしくお願いします。

Aベストアンサー

下記のことを前提にお答えします。
・生年月日の書式が日付であること
・生年月日がセル「A1」に入力されている
・年度ごとに(4月から)年数が増える
・ストレートで四年制大学を卒業している(22歳で)

=IF(MONTH(TODAY()) < 4,
YEAR(TODAY()) - YEAR(A1) - 23,
YEAR(TODAY()) - YEAR(A1) - 22)


このカテゴリの人気Q&Aランキング

おすすめ情報