投稿者 an  (社会人) 投稿日時 2014/2/17 12:03:16
> しかし、データベースには登録日時という項目があり、それも検索条件の一部に入っています。
> 年月日を入力するだけで、入力範囲のデータを表示させたいのですが↑のコードを使っても出来ませんでした。
> 調べてみたら、Betweenでは出来ない。年月日何時何分何秒まで正確に入力しないといけない。などの条件は分かりましたが、ソースコードを組めません。

まずはじめに、
「↑のコードを使っても出来ませんでした。」とのことですが、
出来ないというのは、どう出来なかったのでしょうか

・コンパイル時にエラーが発生して実行できない。
 →どのようなプログラムで、どのようなエラーがどこで発生してる?
・実行時にエラーが発生して正常終了しない。
 →どのようなプログラムでどのような入力をしたら、どのようなエラーがどこで発生してる?
・エラーは発生しなかったが1件も抽出できない。
 →どのようなプログラムでどのような入力をした?
・エラーは発生せず抽出できたが、思う通りの結果でない。
 →どのようなプログラムでどのような入力をしたが、どのような思いだったがどうなってしまった?
  また、どのくらいのパターンを試した?

(ちなみに、「年月日何時何分何秒まで正確に入力しないといけない。」とのことですが、
 入力すれば出来たのでしょうか?)

前にも「躓いています。」について、ツッコミましたが、
この辺を説明していただかないと、こちらが1から検証する必要があったり、
行間を読まなきゃいけなくなり、
人によっては、それを手間と思い回答したくなくなったり、
違う意味と受け取ってしまう可能性もありますので、
最低限上記の説明をお願いします。
(5W1H等を意識すると楽にできると思います。)
(どこまでやったかを報告することにより、丸投げかどうかを判断する場合もあります。)


今回の問題についてですが、
たぶんですが、基本的にはHiDE-Adaさんの回答にある通りだと思います。
BETWEENは両値を「含む」という意味なので、
BETWEENを使用した場合と使用しない場合で、以下のようになります。
・X BETWEEN A AND B
・X >= A AND X <= B
検索したい状況等でうまく使い分ける必要があります。
また、「含みたくない」という以下のような例では使用できません。
・X > A AND X < B
・X >= A AND X < B
・X > A AND X <= B

例えば、今回の日付時刻の場合もそうですが、
「範囲指定で自至の両方を入力する場合もあるが、片方しか入力しない可能性もある」
場合等も、BETWEENを使わない方が良いケースかもしれません。
(個人的にはBETWEENはあまり使いませんが・・・)



なお、根本的な話ですが、DBは何を使っていますか?

以前の回答で、環境が提示されていないと記載しましたが、
SQL文は環境によって依存する可能性があると思います。
環境によっては意味の無い回答になっている場合になる可能性があり、
質問者さん回答者さんそれぞれに無駄が発生する可能性があります。
まずは、環境を明確にしてください。
ちなみに今自分が分かっている質問者さんの環境は
・VB2010
のみです。
何がどこまで環境に依存するかはその時々だとは思いますが、
・OS
・.NET
・DB
(それぞれ、エディション、バージョン、サービスパック有無、32ビットor64ビット等)
等、分かる範囲でかつ、伝えても問題ない範囲で極力多く情報を出すべきです。



> 今回の件でデバッグ作業の重要性を痛感しました。
> ソースコードの実力とデバッグ作業の実力の両方が無いとキツイです。

「ソースコードの実力」という表現が微妙ではありますが、
プログラミングについてはぶっちゃけ基本構文だけ押さえておけば、
それ以上はヘルプ頼りでなんとかなります。
デバッグについては全ての作業の根底になると自分は思っていますので、
しっかり身に着けた方が今後のためになると思います。
ネットが使えない状況・環境等もありますので。

本サイト(Visual Basic 中学校)の初級講座の「第41回 実行の一時停止とデバッグ」は
もうご覧になっているでしょうか?
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard41.htm
まずはじめに、これを理解できれば基礎は完璧だと思います。
他にも色々デバッグの技はありますので、それらはおいおい覚えていけば良いと思います。