• ベストアンサー

アクセスの関数について

アクセスで、2005年5月を「2005/05」と表現した場合、「2005/05/01」と違って、日付として認識されていないので、日付から日付の引き算ができません。「2005/05」を年と月として認識させる関数があると聞いたのですが、それはどうすればいいのでしょうか? どなたか教えていただけませんか?

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>2005年5月を「2005/05」と表現した場合「2005/05/01」と違って、日付として認識されていないので そのフィールドを日付型にしていれば2005/05と入力しても2005/05/01として判断します。 日付として認識されていないのはフィールドのデータ型の設定の問題だと思います。#2の方のいうようにテキスト型では日付として認識しません。 テキスト型を日付型に変更するには Format([フィールド名]&"/01", "yyyy/mm/dd") で2005/05/01となります。 CVDateでも日付に変更できます。 Year関数とMonth関数で年と月だけ取得できます。 Year(Format(フィールド名&"/01", "yyyy/mm/dd"))のように DateDiff("d", 日付の始め, 日付の終り)でその間の日数が取得できます。

その他の回答 (2)

  • doredore1
  • ベストアンサー率38% (13/34)
回答No.2

>アクセスで、2005年5月を「2005/05」と表現した場合 テーブルのデータ型が、テキスト型なのではありませんか? テーブル作成で「年月」のデータ型を「日付/時刻型」にして2005/05/01て入力し、フォームなど表示する時に書式で「yyyy/mm」で表示 したらいかがでしょうか?

  • dober-o
  • ベストアンサー率59% (260/439)
回答No.1

>日付から日付の引き算ができません で最終的にどうしたいのかがわかりませんが DateValue("2005/05") で 2005/05/01 Year(DateValue("2005/05")) で 2005 Month(DateValue("2005/05")) で 5 をそれぞれ返します

関連するQ&A