電子書籍の厳選無料作品が豊富!

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

A 回答 (3件)

追加



日付を部分的に取り出して比較ってほうが普通かも。

SQLServerやAccessであればDATEPART、
PostgreSQLやOracel,MySQL等ならEXTRACTあたり
(PostgreSQLならDATE_PARTも可)

一度日付関連の関数に一通り目を通してみるとよいでしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/08 11:43

日付項目とDateTimePicker1の年と月が一致した場合とすれば


sql= "select * from [テーブル名] wherer (Year([日付項目])=" & Year(DateTimePicker1.Value) & ") And (Month([日付項目])=" & Year(DateTimePicker1.Value) & ")"
とかでは?
    • good
    • 0

範囲で指定すればいいのでは?



BETWEEN あたりを使って、月の最初の日から最後の日の間と指定するとか。


それか日付を文字列として(yyyy/mmの形式に)成形してwhere句に指定するとか。

データベースが何なのか分からないのでこれ以上具体的なSQL文はかけませぬ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/07 14:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!