投稿者 an  (社会人) 投稿日時 2014/2/5 16:49:57

> 質問した時と比べて大分検索プログラムの形になりつつありますが、
> 複数の条件を記入したとしても一番最初に来た検索条件の結果のみDatagridviewに表示されています。

この「一番最初に来た検索条件の結果のみ」という意味がよくわかりませんが、
とりあえず、まずはデバッグしてみましょう。
VB側がいけないのかSQLがいけないのかを特定すべきだと思います。
なので、SQL文を実行する箇所の直前(Dim da As New SqlDataAdapter(sql, cnstr))に
以下のコードを1行追加してみてください。

    MessageBox.Show(sql)

これで実行されるSQLが表示されますので、
複数の条件を入力した状態で実行して、
まずはそれが正しいかを判断してください。
(ちなみにMsgBoxで表示された内容はCtrl+Cでコピーできますので、
 見やすいエディタにコピーしてから確認すると楽です。)
必要に応じて、そのSQL文をVBを通さないで他のツールから実行してみてください。
そこでおかしいようであれば、まずはどういったSQL文を作成すれば良いか、
修正してみると良いでしょう。


> 仕様としては複数の条件を全てあったデータだけを取りたいのですがどうすれば良いのでしょうか?

複数の条件が全てあったレコードを抽出するには、各条件を「AND」でつなげる必要がありますが、
現在は「OR」になっています。
これでは、どれかに一致したものが表示されます。
全ての条件に一致するレコードのみを出力したければ、各条件を「AND」でつなげましょう。
(SQLの基本的事項なので参考書等で確認することをお勧めします。)
(さらに条件という観点でいうとSQLだけに限らず、プログラムの基本になります。)


> anさん
> 内部的な話はプログラムを作成者目線、外交的な話はプログラムの利用者目線の意味合いとして宜しいでしょうか?

基本的にはその通りです。
(ん?外交?^^;)


> るきおさんのコードについてですが、
> ~中略~
> まで作れましたが、if xxx から何を打ち込んだら良いのか分からずいます。

るきおさんもおっしゃってますが、必須な内容ではないので、
今回の件はまずは置いといて、
他の部分が正常に動作してから考えましょう。
(自分も無関係な部分や余計なツッコミを入れてしまったのが悪いのですが・・・。)