- ベストアンサー
SQLのSELECT文で条件を加工する方法
- SQLのSELECT文で条件を加工する方法について、具体的なコード例と共に説明します。
- 期間範囲を取り入れた条件で絞り込むために、DTPickerを使用して同一期間の入場者数をカウントする方法についても解説します。
- SELECT文への追加条件を適用した結果を得るため、コードを修正し実行することが必要です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
以下をモデファイして、ご利用ください。 変数 ASU DIM DATE1 AS String DIM DATE2 AS String DATE1 = Format(入力日付1, "yyyy/mm/dd") DATE2 = Format(入力日付2, "yyyy/mm/dd") strSQL = "SELECT COUNT (*) AS ASU From 入場者実績 where 姓 = '" & Form1.Text1.Text & "'" strSQL = strSQL & " AND 日付フィールド BETWEEN DATE1 AND DATE2" 'レコードセットをオープン rs.Open strSQL, cn ASU = rs.Fields(0).Value Form1.Text2.Text = ASU
その他の回答 (4)
- PAPA0427
- ベストアンサー率22% (559/2488)
であれば、 strSQL = strSQL & " AND 日付フィールド BETWEEN DATE1 AND DATE2" ↓ strSQL = strSQL & " AND FORMAT(日付フィールド,"yyyy/mm/dd") BETWEEN DATE1 AND DATE2" でOKなはずです。お試しください。
お礼
何度も本当にありがとうございます。(涙) さっそくやってみます!
- 2ch
- ベストアンサー率51% (64/125)
出題者よ 環境ぐらい書け
補足
すいません、情報不足というご指摘、今後、気をつけて 行きたいと思います。
- taknt
- ベストアンサー率19% (1556/7783)
to_char(入場日時,'yyyy/mm/dd') > DTPicker.value などというふうにしてみたら?
- taknt
- ベストアンサー率19% (1556/7783)
DTPickerで判断する条件を加えるしかないでしょう。 それが どういった型の項目で、どういう中身が入るのか わからないので、SQL文は、正しくは わかりません。 日付として扱うならば and DTPicker > '20030401' and DTPicker < '20030430' というのを付け足せばいいだけです。
補足
ご回答ありがとうございます。 実際にDBから取り出すフィールドは入場日時という項目でデータ型は日付/時刻型になっています。今のところ、時刻の部分は必要ありませんので、日付の部分だけをDTPicker.valueと比較したいというわけです。 よろしくお願いします。
お礼
お礼欄に記述し、大変恐縮ですが。。。 実際にDBから取り出す日付フィールドのデータ型は 日付/時刻型(2003/04/17 14:30:00等)になっています。 上記頂いた方法で試したのですが「1つ以上の必要なパ ラメータの値が設定されていません。」とエラーが戻っ てきてしまいます。。。やはり日付/時刻型ということが 問題なのでしょうか? 何度もすいませんがよろしくお願いします。
補足
大変ご親切なご回答、ありがとうございます! さっそく試してみようと思います。^^