• ベストアンサー

Access 生年月日19900205から年令

Access2013で、生年月日をテーブルに短いテキスト形式で、例19900205 と,初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してるのですが、これを基に、今日付けの年令を自動的に表示させるクエリ設定方法を教えて下さい。宜しくお願いします。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.6

年令: Year(Date())-Left([生年月日],4)+(Format(Date(),'mmdd')<Right([生年月日],4)) とか。

hasegawa-t
質問者

お礼

ありがとうございました。クエリの初心者の私でもできました。また、宜しくお願いします。 クエリの種類/選択 フィールド/ 年令: Year(Date())-Left([生年月日],4)+(Format(Date(),'mmdd')<Right([生年月日],4)) テーブル/空欄

その他の回答 (5)

回答No.5

GetAge()と過去のベストアンサーでは戻り値が異なります。いわゆる、XXXX/02/29 生まれの年齢計算に対応しているかどうかの差です。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

既に回答が出ています。 http://okwave.jp/qa/q3175119.html のベストアンサーが参考になります。

参考URL:
http://okwave.jp/qa/q3175119.html
回答No.3

SQLビュー: SELECT 生年月日, GetAge(Format([生年月日],"@@@@/@@/@@"),Date()) AS 年齢 FROM テーブル3; デザインビュー: 添付図。 添付のデザインビューは、冒頭のSQL文を生成します。 PS、GetAge()の書き方は一つではない。 どういう書き方があるのかを調べて自分なりのそれを手中にされることをお薦めします。「聞いたことを真似て、そして捨てる!」-の捨てるが大事です。

回答No.2

× Public Function GetAge(ByVal dteBirthday As Date, ByVal dteToday As Date, Optional isSeiki As Boolean = True) As Integer 〇 Public Function GetAge(ByVal dteBirthday As Date, ByVal dteToday As Date) As Integer 失礼。正規計算と非正規計算の両方をサポートしたつもりでしたが・・・。片方のみでした。よって、宣言部を訂正して下さい。もちろん、第三引数は無用です。

回答No.1

Q、今日付けの年令を求めるには? A、私ならば、以下の年齢計算関数を用います。 Public Function GetAge(ByVal dteBirthday As Date, ByVal dteToday As Date, Optional isSeiki As Boolean = True) As Integer   Dim intAge   As Integer   Dim lngValue_1 As Long   Dim lngValue_2 As Long      dteToday = DateAdd("d", 1, dteToday)   lngValue_1 = Format(dteToday, "yyyy") * 10000 + Format(dteToday, "mm") * 100 + Format(dteToday, "dd")   lngValue_2 = Format(dteBirthday, "yyyy") * 10000 + Format(dteBirthday, "mm") * 100 + Format(dteBirthday, "dd")   intAge = Fix((lngValue_1 - lngValue_2) / 10000)   GetAge = intAge End Function 3つめの引数に False を指定すると法令を無視した年齢を返します。何も指定しないと法令に基づいた年齢を返します。この関数の利用方法は、添付図を参照してください。

hasegawa-t
質問者

補足

いつもありがとうございます。 年齢計算関数を書き入れるは、どこか教えてください。クエリも初心者です。 よろしくお願いします。

関連するQ&A

  • Access2013 年月日付けの年齢表示

    Access2013で、備忘録作成の為、年月日をテーブルに短いテキスト形式で、例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 1952年11月27日生の場合、この年月日の際の年齢を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。

  • Access2013 年月日迄の経過年月日表示

    Access2013で、備忘録作成の為、[年月日] をテーブルに短いテキスト形式で、 例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 『1952年11月27日』から、この年月日迄の、[経過年月日数] を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。

  • Access生年月日19990205 月日順年順

    Access2013で、生年月日をテーブルに短いテキスト形式で、例19900205 と,初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 これを、月日順で且つ年順に並べるクエリを教えて下さい。宜しくお願いします。 選択クエリの フィールド欄/何と記入したらよいでしょうか? テーブル欄/空欄 並び替え欄/昇進 例 19520105 19600105 19710105 19520202 19600202 19710205

  • Access2013 曜日 自動的表示のクエリ

    Access2013で、備忘録作成の為、[年月日] をテーブルに短いテキスト形式で、例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 この日の[曜日] を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。

  • Access2013 テーブルに年令の自動表示方法

    Access2013で、生年月日をテーブルに短いテキスト形式で(昭和00年00月00日)と入力してるのですが、これを基に、今日付けの年令を自動的に同じテーブルに表示させる設定方法を教えて下さい。宜しくお願いします。

  • access2003で生年月日から年度初めの年齢を算出したいのですが…

    Access2003で名簿を作成中です。 やりたいことは以下の2つです。 1.クエリで、"生年月日"フィールドから年度初め(2010/4/1現在)の年齢を自動的に"年齢"フィールドに表示させたい 2.上記のクエリをもとに、新規入力用のフォームをつくり、やはり生年月日を入れたら自動的に年度初めの年齢が出るようにしたい。 これに必要な設定や記述を教えてください。 ちなみにクエリのもとにしているテーブルの"生年月日"フィールドのデータ型は「日付/時刻型」にし、書式は「日付(S)」にしています。 よろしくお願いします。

  • Access 生年月日を西暦入力し和暦表示方法は

    Access2013 テーブルに短いテキスト形式で生年月日を西暦(0000/00/00)と入力してあるのですが、これを基に、フォームでは和暦(昭和00年00月00日)と表示させる設定方法を教えてください。よろしくお願いします。

  • Access2013 生年月日から年令自動表示方法

    Access2013で、生年月日のフィールドを基に、今日付けの年令を自動的に表示させるフィールドの設定方法を教えて下さい。宜しくお願いします。

  • アクセス2002の年齢の表示について

    初心者です。 顧客の情報の入力に当たって生年月日を入力することで 年齢を出そうと思い、 テーブルで生年月日を そしてクエリでInt((Date()-[生年月日])/365) とすることで年齢を表示させました。 しかしながら、それだけのためにクエリを作る必要があるのでしょうか? クエリではふりがな自動表示、住所入力支援ができず、 ちぐはぐな思いをしています。 もしテーブルで年齢を表示させられたらいいなぁと思い、 質問させていただきました。 的外れな質問かもしれませんが、基本がないものですから・・・わからないところは工夫をしてやっていますが もっとシンプルにできるはずだと思います。 どうぞよろしくお願いします。

  • ACCESSのデータに自動で半角スペースを入れたい

    ACCESSのデータに自動で半角スペースを入れたい 例えば フィールドサイズ:15(テキスト型) のフィールドに10桁の数字を入力 した場合、残りの5桁に自動的に半角スペース(もしくは「0」)を入力する方法はないでしょうか? 例)  1234567890 → 000001234567890         → @@@@@1234567890(@は半角スペース) テーブル・クエリどちらでもかまいませんので教えてください。 よろしくお願いします。

専門家に質問してみよう