• ベストアンサー

VB2008,DateTimePickerで指定する年月について

お世話になります。 現在、VB2008で開発をしているのですが、DateTimePickerのCustomFormatで年/月のみの表示にしており、その値をもとに Selectをかけたいと思っているのですが、指定した月のみのデータを 抽出する書き方が分かりません。 selectの条件にDateTimePickerの値を設定すると、その月より前の データをすべて参照してしまいます。(2009/5と入力すると2009/4などのデータまで参照してしまう。) すみません、初歩的な質問かもしれませんが、どうかコードの書き方を教えてください。よろしくお願いします。

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

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

追加 日付を部分的に取り出して比較ってほうが普通かも。 SQLServerやAccessであればDATEPART、 PostgreSQLやOracel,MySQL等ならEXTRACTあたり (PostgreSQLならDATE_PARTも可) 一度日付関連の関数に一通り目を通してみるとよいでしょう。

cabwik
質問者

お礼

ありがとうございます。 提示していただいた情報を元にもう一度調べなおしてみようと思います。

その他の回答 (2)

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.3

日付項目とDateTimePicker1の年と月が一致した場合とすれば sql= "select * from [テーブル名] wherer (Year([日付項目])=" & Year(DateTimePicker1.Value) & ") And (Month([日付項目])=" & Year(DateTimePicker1.Value) & ")" とかでは?

回答No.1

範囲で指定すればいいのでは? BETWEEN あたりを使って、月の最初の日から最後の日の間と指定するとか。 それか日付を文字列として(yyyy/mmの形式に)成形してwhere句に指定するとか。 データベースが何なのか分からないのでこれ以上具体的なSQL文はかけませぬ。

cabwik
質問者

お礼

回答ありがとうございます。 selectで一度書いたんですけど、それをVBでどう記述するのかと思いまして・・・、早速bluecampusさんが提供してくださった考え方で書いてみます。

関連するQ&A