投稿者 社会人  (社会人) 投稿日時 2014/2/20 15:33:47
anさん
HiDE-Adaさん

最初に謝りたい事があります。
先週投稿した際に文章が一部切れていたのを今となって分かり、要点をまとめて此方に書きます。
お手数かけますがアドバイスを宜しくお願いします。

・登録日付の検索欄はTextboxが二か所ある。
・Textboxに入力する際は年月日のみの入力制限をかける
・検索条件として年月日のみの指定、時間は指定しない。
・登録日付は範囲検索も出来る様にしたい(2014/2/1~2014/2/20の検索が出来る様にしたい。)

HiDE-Adaさん
情報有難うございます。

sql += " WHERE (登録日時 between '2014/02/01' and '2014/02/20')"

と打ち込むと登録日時が2014/02/01~2014/02/20までのデータが表示され、自分が欲しい答えに一番近いコードとなっています。
しかし、日付をTextBoxに置き換えるとビルドエラーが発生やプログラムの実行は出来るが肝心の検索結果が表示されない状況になっています。

anさん

先週のコード
sql += " WHERE (生産者番号 between " & TextBox1.Text.Trim & " and " & TextBox2.Text.Trim & ")"

だと、ビルドエラーは発生しませんが検索結果が出てきません。


======
sql += " WHERE (登録日時 between # & TextBox14.Text.Trim & # and # & TextBox15.Text.Trim & #)"
         
▼実行後にエラー▼
列名"#"が無効です。
マルチパート識別子"TextBox15.Text.Trim"をバインドできませんでした。

======
sql += " WHERE (登録日時 between " & TextBox14.Text.Trim & " and " & TextBox15.Text.Trim & ")"

エラー無し、結果は表示されない。

======
sql += " WHERE (登録日時 between '2014/02/01' and '2014/02/20')"

エラー無し、結果は表示される。イメージとしては一番近い。
======

sql += " WHERE (登録日時 between " & TextBox14.Text.Trim & " >= and <= " & TextBox15.Text.Trim & ")"

反応無し。

======

sql += " WHERE (登録日時 between " & 【>=】 TextBox14.Text.Trim & " and  " & <= TextBox15.Text.Trim & ")"
           
▼エラー▼
式が必要です

======

sql += " WHERE (登録日時 between " >= "#" & TextBox14.Text.Trim & "#" and " >= "【#" & textbox15.text.trim & "#")"】

▼エラー▼
ステートメントの終わりを指定してください。

=====

いくつかソースを確かめましたが、失敗しています。
下二つのコード【】はビルドエラーの際に発生する青い波線の変わりにしているので実際のソースには入力していません。

自分の環境はこうなっています。
▼OS▼
XP SP3 32ビット

▼VB▼
Visual Studio2010 (CDからインストールした為製品版です)

▼DB▼
SQLServer2008 R2 Manegement Studio

これで大丈夫でしょうか?