- ベストアンサー
アクセスの関数について
アクセスで、2005年5月を「2005/05」と表現した場合、「2005/05/01」と違って、日付として認識されていないので、日付から日付の引き算ができません。「2005/05」を年と月として認識させる関数があると聞いたのですが、それはどうすればいいのでしょうか? どなたか教えていただけませんか?
- みんなの回答 (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)
>アクセスで、2005年5月を「2005/05」と表現した場合 テーブルのデータ型が、テキスト型なのではありませんか? テーブル作成で「年月」のデータ型を「日付/時刻型」にして2005/05/01て入力し、フォームなど表示する時に書式で「yyyy/mm」で表示 したらいかがでしょうか?
- dober-o
- ベストアンサー率59% (260/439)
>日付から日付の引き算ができません で最終的にどうしたいのかがわかりませんが DateValue("2005/05") で 2005/05/01 Year(DateValue("2005/05")) で 2005 Month(DateValue("2005/05")) で 5 をそれぞれ返します