• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SELECT文の加工)

SQLのSELECT文で条件を加工する方法

このQ&Aのポイント
  • SQLのSELECT文で条件を加工する方法について、具体的なコード例と共に説明します。
  • 期間範囲を取り入れた条件で絞り込むために、DTPickerを使用して同一期間の入場者数をカウントする方法についても解説します。
  • SELECT文への追加条件を適用した結果を得るため、コードを修正し実行することが必要です。

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

  • ベストアンサー
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.4

以下をモデファイして、ご利用ください。 変数 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

siamzou
質問者

お礼

お礼欄に記述し、大変恐縮ですが。。。 実際にDBから取り出す日付フィールドのデータ型は 日付/時刻型(2003/04/17 14:30:00等)になっています。 上記頂いた方法で試したのですが「1つ以上の必要なパ ラメータの値が設定されていません。」とエラーが戻っ てきてしまいます。。。やはり日付/時刻型ということが 問題なのでしょうか? 何度もすいませんがよろしくお願いします。

siamzou
質問者

補足

大変ご親切なご回答、ありがとうございます! さっそく試してみようと思います。^^

その他の回答 (4)

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.5

であれば、 strSQL = strSQL & " AND 日付フィールド BETWEEN DATE1 AND DATE2" ↓ strSQL = strSQL & " AND FORMAT(日付フィールド,"yyyy/mm/dd") BETWEEN DATE1 AND DATE2" でOKなはずです。お試しください。

siamzou
質問者

お礼

何度も本当にありがとうございます。(涙) さっそくやってみます!

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

出題者よ 環境ぐらい書け

siamzou
質問者

補足

すいません、情報不足というご指摘、今後、気をつけて 行きたいと思います。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

to_char(入場日時,'yyyy/mm/dd') > DTPicker.value などというふうにしてみたら?

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

DTPickerで判断する条件を加えるしかないでしょう。 それが どういった型の項目で、どういう中身が入るのか わからないので、SQL文は、正しくは わかりません。 日付として扱うならば and DTPicker > '20030401' and DTPicker < '20030430' というのを付け足せばいいだけです。

siamzou
質問者

補足

ご回答ありがとうございます。 実際にDBから取り出すフィールドは入場日時という項目でデータ型は日付/時刻型になっています。今のところ、時刻の部分は必要ありませんので、日付の部分だけをDTPicker.valueと比較したいというわけです。 よろしくお願いします。

関連するQ&A