
datediff関数を使うとなんとか近い物がでてくるのですが、アクセスで年齢の表示を「28歳と11ヶ月です。」というような表現でフォーム上に表示させたりするにはどういった手法をとれば宜しいでしょうか?
それから組み込み関数でDATEDIFFを組み込むと
DateDiff (<interval>, <date1>, <date2>, <firstweekday>, <firstweek>)
っというように表示されますが、各々にはどういった処置をすればいいのかどなたか教えて下さい。
アドバイスの程宜しくお願いします。
No.3ベストアンサー
- 回答日時:
#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
No.2
- 回答日時:
年齢計算については、#1さんの回答でよろしいかと思います。
DateDiff関数の使い方は、Accessのヘルプでキーワードに「DateDiff」を
指定すると、詳しく説明されていますのでご覧ください。
また、使用例も載っていますので参考になると思います。
(ヘルプも役に立ちますので活用されるといいと思います)
intervalには、差をどういう単位で計算するかを文字列で指定します。
年単位なら"yyyy"、月単位なら"m"、日単位なら"d"などです。
date1, date2には処理する日付を指定します。年齢計算は現在との差ですので、
一方をnow()に指定してください。
<firstweekday>, <firstweek>は省略可能です。詳しくはヘルプをご覧ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ACCESS】未定義関数が発生。...
-
エクセルで四捨五入ではなく、5...
-
Excel 隣のセルが空白以外の場...
-
「24日の0時」って・・・
-
エクセルの列が左右逆に・・・・
-
「時間」、「期日」、「日付」...
-
日付の大小の表現
-
エクセルのチェックボックスを...
-
excelで、セル内に文字が入力さ...
-
VBAでエクセルシートを更新...
-
差し込み印刷に当日の日付が入...
-
エクセルで数字から名前に変...
-
メールの最後に日付をいれますか?
-
エクセル 日付順に並べてかえた...
-
表示倍率を変更させない方法
-
EXCELで日付を****年上期、****...
-
折れ線グラフ 横軸の日付 土...
-
マクロボタンを押すと、ファイ...
-
エクセルファイルを開くとメッ...
-
回覧板の日付について質問です...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンピューターで2進法が採用...
-
Excel 隣のセルが空白以外の場...
-
【ACCESS】未定義関数が発生。...
-
ACCESS で深夜計算
-
アクセスについて
-
エクセルでeのマイナス乗の計算...
-
エクセルで四捨五入ではなく、5...
-
ACCESSでの時間外計算方法
-
ファイルメーカープロ8で生年月...
-
計算結果をCASE WHENで判断した...
-
選択クエリを開けない
-
アクセスである時点での年齢を...
-
エクセルについて
-
exelでの年齢 何さい何か月何日...
-
Excelで、生年月日と特定の日付...
-
チェックデジットを付加したデ...
-
SQL Server での小数点以下の「...
-
携帯番号がわかる計算式
-
ファイルメーカーPro7での経過...
-
ファイルメーカーで時間の表示...
おすすめ情報