• ベストアンサー

Accessで教えてください。

「生年月日」が入力されているフィールドがあります。この値をクエリーを使って「年」、「月」、「日」に分割したいのですが、方法を教えてください。 Excelのように関数「Year」、「MONTH」、「DAY」を使ってできれば良いのですが。 Accessでの関数の設定方法が分かりません。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

FORMAT文が使用できます。一部バグのあるバージョンあり。 年:Format([日付],'yyyy') 月:Format([日付],'mm') 日:Format([日付],'dd')

makigogo
質問者

お礼

早速の回答ありがとうございました。 おかげで出来ました! 式ビルダを使ったときに見慣れない《Expr》が表示され戸惑ってしまいました。

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

#1です。 「一部バグ」とは下記URLが詳しいです。 「生年月日」が「文字列8バイト(19991231)」であるとか、 「文字列10バイト(1999/12/31)」であるとかならば MID関数(等)で切り出してください。 「文字列8バイト(19991231)」 年:mid([生年月日],1,4) left([生年月日],4)でも可 月:mid([生年月日],5,2) 日:mid([生年月日],7,2) right([生年月日],2)でも可 「文字列10バイト(19991231)」 年:mid([生年月日],1,4) left([生年月日],4)でも可 月:mid([生年月日],6,2) 日:mid([生年月日],9,2) right([生年月日],2)でも可

参考URL:
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsFunctionErrorInQuery.html
  • dober-o
  • ベストアンサー率59% (260/439)
回答No.2

Excelと同じようにできますよ =Year([生年月日]) =month([生年月日]) =Day([生年月日])

makigogo
質問者

お礼

早速の回答ありがとうございました。 出来ました。