アレルギー対策、自宅でできる効果的な方法とは?

Accessで生年月日から今年度の年度末の年齢表示を次のようにしたところうまく表示されません。

年度末年齢: DateDiff("yyyy",[生年月日],2009/3/31)

ここ数日考えましたがわかりません。
よろしくお願いします。

A 回答 (2件)

生年月日から年齢を計算する方法


http://support.microsoft.com/kb/881380/ja

Now() の部分を年度末の日付にすれば良いですね。
日付は文字列でも大丈夫です。 「"2009/03/31"」とか。
    • good
    • 0

> 年度末年齢: DateDiff("yyyy",[生年月日],2009/3/31)


単純に日付を渡す場合
#2009/3/31#
と、言う話じゃない?
= 2009/3/31
= 21.602150537634408602150537634409
= #1900/01/21 14:27:06#
と、言う話になるから・・・
    • good
    • 0

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

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

このQ&Aを見た人が検索しているワード

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

Qアクセスである時点での年齢を計算する方法

アクセスのクエリで年齢を求めたいのですが方法がわかりません。
教えていただけますでしょうか。

「対象者が学校に入学したときに何歳だったか」を計算したいです。

「生年月日」と「入学年月日」のフィールドがあります。
これを使って計算できますでしょうか。

Aベストアンサー

日付/時刻型ですか?
それと法律上は誕生日の前日に年をとるらしいので注意
Int(Format([入学年月日],"yyyy.mmdd")-Format([生年月日]-1,"yyyy.mmdd"))

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アクセス2000/4月1日現在の年齢の計算方法を教えて下さい。

初歩的な質問ですがよろしくお願いします。
クエリーで、生年月日から4月1日時点での年齢のフィールドを持たせたいのですが、式の記述がよくわかりません。
現在の日付が1~3月の場合は前年の4月1日時点、4~12月の場合は当年の4月1日時点での年齢を算出したいのです。
どうぞよろしくお願いします。

Aベストアンサー

クエリーのフィールドに[基準日]と[年齢]を作成して、それぞれ
基準日: Format("2000/4/1","yyyy/mm/dd")
年齢: IIf(Format([誕生日],"mm/dd")>Format([基準日],"mm/dd"),DateDiff("yyyy",[誕生日],[基準日])-1,DateDiff("yyyy",[誕生日],[基準日]))
とします。
ただし、誕生日が2000/4/1以降の場合、マイナスになってしまうのでこれを考慮しなくてはなりませんが・・・。

QACCESS IIF関数 複数条件の設定について

 選択クエリにおいて、あるフィールド「 X」 のレコード数値が
 
  0<[X]<=50   であれば A 
  50<[X]<=100  であれば B 
  100<[X]<=150  であれば C

 と表記させるフィールド「Y」を追加したいと考えています。
 この場合、Yのフィールド設定で指定する数式についてご教授願います。

 一応、
  IIf(0<[X]<=50,"A","") Or IIf(50<[X]<=100,"B","") Or IIf(100<[X]<=150,"C","")

  としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。

 何卒よろしくお願いいたします。

Aベストアンサー

a)IIF関数で対応する場合:
 IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。

式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", ""))))


b)別の組込関数を使用する場合:
 IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで
 使用できる、似た機能の関数に、Switch関数というものもあります。
 これであれば、入れ子にする必要がなくなります。
 (詳しくは、Accessのヘルプを参照下さい)

式: Switch([X]<=0, "", [X]<=50, "A", [X]<=100, "B", [X]<=150, "C", True, "")


なお、数学あるいは一般生活では確かに「0<[X]<=50」という表記をしますが、
Accessの関数などではこれだと正しい結果が得られません。
正しく認識させるためには、等号・不等号を挟んだ式は、「左辺」と「右辺」の
2つの要素からなる形にする必要があります。
(「0<[X]<=50」は「[X]>0 And [X]>=50」と分割してやる、と)

但し、今回のご質問のような『連続した範囲』であれば、前(左)で既出となる
式の要素で「[X]<=0」が「真(=-1)」とならなかった時点で、「[X]>0」が保証
されますので、上記のように、「[X]>0」を省略して「[X]<=50」だけを条件として
指定すればOk、ということになります。
(「0<[X]<=50」の次が「80<[X]<120」などのように、「50~80」が欠けた
 場合は、省略ができない、と)


【参考】
「0<[X]<=50」は、このままだと「0 < ([X]<=50)」という式と解釈されます。
この場合、「[X]<=50」は、「真(=-1)」か「偽(=0)」か「Null」のいずれかに
なります。
何にせよ、「0<[X]<=50」全体として「正(=-1)」となることがないため、
ご質問の式では、IIF関数は常に第3引数に指定された値「""」を返す
ことになります。

この結果、式全体としては「"" Or "" Or ""」という形となり、「0かNull」
以外なので、「真(=-1)」という値が返された、ということです。

なお、Nullについては、以前、他の方の質問につけた回答も、併せて参考までに:
http://oshiete.goo.ne.jp/qa/4850675.html

a)IIF関数で対応する場合:
 IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。

式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", ""))))


b)別の組込関数を使用する場合:
 IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで
 使用できる、似た機能の関数に、Switch関数というものもあります。
 これであれば、入れ子にする必要がなくなります。
 (詳しくは、Accessのヘルプを参照下さい)

式: Switch([X]<=0, "", [X]<=50, "A"...続きを読む

Q「年度末現在」という表記

私は今就職活動をしています。
それでエントリーシートの年齢の欄に「年齢(年度末現在)」と書いてありました。
これは平成22年12月末段階の年齢か、平成23年3月末段階の年齢のどっちを書けばいいんでしょうか
締め切りが今週中なので早めに返事、意見がほしいです。
よろしくお願いします!!

Aベストアンサー

日本の「年度」はたいてい、4月から翌3月ですから、
おそらく「平成23年3月末現在」だと思います。
しかし分かりづらい表記ですね。

とは言え、こんな質問サイトで聞くより、
直接応募先に問い合わせるのが一番です。

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。

QOfficeアクセス テーブル「テキスト型」⇒「日付型」への変換について

テーブルにデータが保管されており、そのフィールドの一つに「テキスト型」で”20080301”のようなデータを持っています。これを「日付/時刻型」”2008/03/01”のように変換したいのですが、どのようにすればよいのでしょうか。

※ちなみにこのオリジナルデータは毎日、自動的にテーブルにダウンロードされており、このテーブル自体の型を予め「日付/時刻型」に変換すると、日々のデータ取得時にエラーとなってしまいます。ですので、「日付/時刻型」のフィールドを持った新規のテーブルに、この”20080301”のデータを変換し格納したいのですがどのようにすればよろしいでしょうか。

テーブル⇒デザインより、該当のフィールドの型を「テキスト型」⇒「日付/時刻型」へ直接変換してしまうと、「データの変換中にエラーが発生しました。○○件のレコードのデータが失われました。」と表示されます。素人のため、なるべく追加クエリや更新クエリや簡単な関数のみでの方法を教えていただけたら幸いです。

Aベストアンサー

テーブルに日付時刻型フィールドを追加して、
更新クエリを使って、#1さんが提案されている
数式を使えばよいのでは?

QAccessで勤続年数(○年○ヶ月)を表示する方法

質問タイトルのまんまなのですが、
入社年月日と退職年月日を入力し、その期間が『○年○ヶ月』という
表示にするためには、どんな関数を使って設定をしたらよいのでしょうか…。
Excelでも似たような、関数があるようですが、使用の仕方が異なるようで(涙)

アドバイスよろしくお願いします。

Aベストアンサー

表示するようにするなら下記で表示できます。
フォームなどのコントロールソースにコピーしてください。クエリにもOKです。
=Int((IIf(DatePart("d",[入社年月日])>DatePart("d",[退社年月日]),DateDiff("m",[入社年月日],[退社年月日])-1,DateDiff("m",[入社年月日],[退社年月日]))/12)) & "年" & IIf(DatePart("d",[入社年月日])>DatePart("d",[退社年月日]) And DateDiff("m",[入社年月日],[退社年月日])=0,DateDiff("m",[入社年月日],[退社年月日])-1,DateDiff("m",[入社年月日],[退社年月日])) Mod 12 & "ヶ月"

Qアクセスで西暦データを和暦表示させる方法

テーブルのデータは西暦で管理していますが、レポートでは和暦で出力する方法は無いでしょうか。生年月日の表示などはどうしても和暦の方が一般的なので、変則的な方法を探していますので、教えて下さい。

Aベストアンサー

Accessでの和暦の表示
ge   H1
gge   平1
ggee  平01

gggee\年     平成01年
ggge\年m\月d\日   平成1年1月1日
gggee\年mm\月dd\日 平成01年01月01日

ge\/m\/d H1/1/1
gee\/mm\/dd H01/01/01

レポートの日付のフィールドのプロパティの書式で上記より選んで設定してください。

Qアクセス:クエリのビルダで西暦を和暦にしたい

アクセスのクエリ初心者です。よろしくお願いします。
ヘルプでの調べ方すら時間がなくてわからないので、お助けください。

生年月日が西暦(例:2006/12/22)で入っています。クエリのビルダの関数を使って、『和暦表示』にする方法を教えてください。
よろしくお願いいたします。

Aベストアンサー

別のフィールドで文字列化でいいなら
フィールド名:Format([生年月日],"gggee年mm月dd日")

表示を和暦にするだけなら、プロパティを開いてフィールドの書式欄に
gggee"年"mm"月"dd"日"
としてください。

和暦の書式は
g 年号1桁 M,T,S,H
gg 年号漢字1桁 明,大,昭,平
ggg 年号漢字2桁 明治,大正,昭和,平成
e 和年1桁 1年から9年まで1桁で10年以降はその桁数
ee 和年2桁 1年から9年までを01~09と2桁表示


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

人気Q&Aランキング

おすすめ情報