投稿者 メタルスライム  (社会人) 投稿日時 2017/9/13 09:04:08
VB初心者です。
環境はVS2015&SQLSERVER2014です。

やりたい事は、
一旦、SQLSERVERからSQLで取得したデータをデータテーブルに保持し
そのデータを並べ替えて表示したり、絞り込んだりしたい訳です。

私が調べた限りは
・データテーブルは、SELECTというメソッドで、条件を指定して、絞り込む事が可能。
・コレクションの方が、LINQが使えて、さらに便利(LINQ自体、あまり詳しくありませんが。。。)
ということは分かってきました。

コレクションの方が、where条件等、SQL的な事ができそうなので、
データテーブルをLIST等のコレクションにコンバートしてから、条件による並べ替えや絞り込みを行おうと考えています。

ただ今悩んでいるのは、
①動的な複数の検索条件による絞り込み
②2つ以上のコレクションのJOIN
です。

例えば、LIST_AとLIST_Bというリストで、
Dim Query = From A In LIST_A
              Join B In LIST_B On A.ID Equals B.ID
とJOINします。

①LIST_Bの項目1のAとBで絞り込みたいと画面から指定があった場合
Where B.項目=A Or B項目=B
となると思いますが、条件がA,B,C,D....と続く場合、動的にどう実装すれば良いか
悩んでいます。

②絞り込みや並べ替えに必要な情報が足りないので、
例えばLIST_BのNAMEという項目に紐づけようと、LIST_CをJOINしようと
Join C In LIST_C On B.NAME Equals C.NAME
としたのですが、上手く結合した結果が返却されませんでした。
(LIST_AとLIST_Bだけの場合、上手くいきました)

申し訳ありませんが、皆様のお知恵を拝借したく存じます。
宜しくお願い致します。