• ベストアンサー

生年月日計算結果が0才未満の場合、「未出生」と表示したい。

タイトルだけをみると簡単そうなのですが、やってみてできなかった ので質問させて頂きます。 以前こちらでACCESSの表形式フォームで年齢計算結果を表示する 方法をご教示頂いたのですが(http://okwave.jp/kotaeru.php3?q=2096513)、 年齢計算結果が0才未満の場合、「-2才」などと表示されてしまいます。 0才未満の場合、「未出生」などと表示したいのですが、どのように すればよろしいでしょうか。非連結フィールドには現在、 =DateDiff("yyyy",[生年月日],[Forms]![詳細]![日付])+(Format([Forms]![詳細]![日付],"mmdd")<=Format([生年月日],"mmdd")) とだけ入っていて、これの頭にIF文をつけてみましたが、「name?」と なってだめでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • Chimrin
  • ベストアンサー率49% (42/85)
回答No.1

コントロールソースに関数を指定することでも解決できそうな気もしますが、表示するだけならばテキストボックスの「書式」を「0\才;"未出生"」と指定しても何とかなりそうです。 数値型データのカスタム書式の一例です。セミコロンで区切った最初の項目は正の数値の書式、二つ目の項目は負の数値の書式を表します。詳しくはヘルプ等を参照してください。

nozomi300k
質問者

お礼

ありがとうございます! 一発でできました。(^^)

その他の回答 (2)

  • KG_
  • ベストアンサー率62% (34/54)
回答No.3

プログラムを組めるのなら 自分で関数作ってやるのも手かと思います。 メンテナンスも楽ですし。

  • X-trail_00
  • ベストアンサー率30% (438/1430)
回答No.2

=iif(date<[生年月日],"未出生",DateDiff("yyyy",[生年月日],[Forms]![詳細]![日付])+(Format([Forms]![詳細]![日付],"mmdd")<=Format([生年月日],"mmdd"))) こんなんでどうでしょう?

nozomi300k
質問者

お礼

ありがとうございました。

関連するQ&A