• ベストアンサー

Access 生年月日を月日順かつ年順で並べる方法

Access2013 フィールド(短いテキスト)に生年月日を「昭和00年00月00日」と入力してあります。 これを、月日順で且つ年順に並べるクエリを教えて下さい。宜しくお願いします。 例 昭和27年1月5日 昭和30年1月5日 昭和59年1月5日 昭和25年2月2日 昭和40年2月2日 昭和60年2月2日

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

  • ベストアンサー
回答No.7

もしかして、 SELECT テーブル2.ID, テーブル2.生年月日 FROM テーブル2 ORDER BY Format([生年月日],"mm/dd/yyyy"); という回答を希望なのかな?

その他の回答 (6)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.6

クエリをデザインビューで開いて生年月日を月、日、年を分解し これに並び替えに昇順、降順を設定します。 月、日、年は左が上位になります。 誕生日のデータ型が「日付/時刻型」ならば式は 月: month([誕生日]) 日: Day([誕生日]) 年: Year([誕生日]) とします 蛇足ですが、これらの項目の表示のチェックを外しても並び替えは有効です

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.5

SELECT 和暦テーブル.生年月日, Format([生年月日],"yyyy/mm/dd") AS 西暦 FROM 和暦テーブル ORDER BY Format([生年月日],"yyyy/mm/dd"); 西暦を表示させないなら、こっち。 SELECT 和暦テーブル.生年月日 FROM 和暦テーブル ORDER BY Format([生年月日],"yyyy/mm/dd");

回答No.4

普通に西暦変換してソートで・・・。 SELECT テーブル2.ID, テーブル2.生年月日 FROM テーブル2 ORDER BY Format([生年月日],"yyyy/mm/dd");

noname#206655
noname#206655
回答No.3

日付フィールドは連番なんで、大小の比較は出来るのですが、テキストフィールドとなると・・・・ もう一個、日付型のフィールドを用意して、イコールで代入、並べ替えかな。 で、和暦でしょ? 和暦の文字列を日付型に出来たかどうか、記憶にないので探しますが。 いや、今考えてて、明治の前ってなんだろ、平成の次は? 仮に新しい元号が・・・いや、あと数年は平成だろーけど、変わったらどうすんだろ。 いえ、ここで「西暦1821年」をエラーにしないと。「平成45年」も判断しないと。 今日、今より未来の日付を入力時にできなくすると・・・・ 何れにせよ、「日付型」を用意し、そこに値を入れてれば、マイクロソフトの責任になるよね。 商事 って入力しないよう、リスト型で元号を・・・となると、短いテキストに代入できないし。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

並べ替え用のフィールドを用意するしかありません。 月日と年を別フィールドにするか?月日/年のテキストフィールドを作るかですね。 月日:Format(DateValue([フィールド1],"mm月dd日") 年:Format(DateValue([フィールド1],"yyyy") 月日年:Format(DateValue([フィールド1],"mm月dd日")&"/"Format(DateValue([フィールド1],"yyyy") ※年を西暦にしています。和歴年号順だと大正、平成が混ざると順番が変わるので。。。

hasegawa-t
質問者

補足

うまく出来ません。 新しくフィールド(短いテキスト)を作って、書式に下記を(1)入力し、Enterを押すと(2)になってしまいます。入力するところが違っているのか、教えて下さい。 (1) 月日年:Format(DateValue([生年月日],"mm月dd日")&"/"Format(DateValue([生年月日],"yyyy") (2) "月日年":\F\rm"at("d"at"e"Valu"e"([生年月日],mm月dd日)&/F"\rm"at("d"at"e"Valu"e"([生年月日],yyyy)"

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

ツールバーの[昇順で並べ替え]ボタンを使って並べ替え

関連するQ&A