- ベストアンサー
VB2008,DateTimePickerで指定する年月について
お世話になります。 現在、VB2008で開発をしているのですが、DateTimePickerのCustomFormatで年/月のみの表示にしており、その値をもとに Selectをかけたいと思っているのですが、指定した月のみのデータを 抽出する書き方が分かりません。 selectの条件にDateTimePickerの値を設定すると、その月より前の データをすべて参照してしまいます。(2009/5と入力すると2009/4などのデータまで参照してしまう。) すみません、初歩的な質問かもしれませんが、どうかコードの書き方を教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
追加 日付を部分的に取り出して比較ってほうが普通かも。 SQLServerやAccessであればDATEPART、 PostgreSQLやOracel,MySQL等ならEXTRACTあたり (PostgreSQLならDATE_PARTも可) 一度日付関連の関数に一通り目を通してみるとよいでしょう。
その他の回答 (2)
- hotosys
- ベストアンサー率67% (97/143)
日付項目とDateTimePicker1の年と月が一致した場合とすれば sql= "select * from [テーブル名] wherer (Year([日付項目])=" & Year(DateTimePicker1.Value) & ") And (Month([日付項目])=" & Year(DateTimePicker1.Value) & ")" とかでは?
- bluecampus
- ベストアンサー率66% (138/209)
範囲で指定すればいいのでは? BETWEEN あたりを使って、月の最初の日から最後の日の間と指定するとか。 それか日付を文字列として(yyyy/mmの形式に)成形してwhere句に指定するとか。 データベースが何なのか分からないのでこれ以上具体的なSQL文はかけませぬ。
お礼
回答ありがとうございます。 selectで一度書いたんですけど、それをVBでどう記述するのかと思いまして・・・、早速bluecampusさんが提供してくださった考え方で書いてみます。
お礼
ありがとうございます。 提示していただいた情報を元にもう一度調べなおしてみようと思います。