- ベストアンサー
【Access2000】月末の日付を条件にクエリーから抽出する方法
フォーム[フォーム1]にある[年月日]フィールド(非連結)に入力されたデータをもとにして、そのデータの末日より以前、という条件で抽出を行いたいと思います。クエリーの抽出条件には以下の式を採用しました。 <=DateValue(Year([Forms]![フォーム1].[年月日]) & "/" & (Month([Forms]![フォーム1].[年月日]))+1 & "/" & 1)-1 この式を使用すると、確かに月末は出るのですが、12月の時にエラーになってしまいます。原因も12月で1を足すと、13になるのでおかしくなるのでは?と特定できているのですが、どう回避すれば良いのかわかりません。何か方法がありましたら、お教えくださいませ!!宜しくお願いいたします。 ちなみにOSはWindows2000を使用しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 DateSerial関数とDataAdd関数を使えばうまく行きます。 <= DateSerial(Year(DateAdd("m", 1, [Forms]![フォーム1].[年月日])), Month(DateAdd("m", 1, [Forms]![フォーム1].[年月日])), 1) - 1 DateValueの引数に日付文字列を作って入れるより簡単だと思います。
その他の回答 (1)
- kmor
- ベストアンサー率27% (225/825)
この方法でも出来ます。 まず指定した次の月の1日を求めて、それから1日前を求めます。 DateAdd("D", -1, DateAdd("M", 1, Year([Forms]![フォーム1].[年月日]) & "/" & Month([Forms]![フォーム1].[年月日]) & "/" & "01"))
お礼
ご回答ありがとうございました!この方法でもできました!!
お礼
ありがとうございます。うまくいきました!! DateAdd関数を使用するんですね。またひとつ勉強になりました!!