teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

期待値・実行結果追加

2020/09/19 00:19

投稿

conn_e
conn_e

スコア1

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,7 @@
8
8
  LINQを使い、データテーブルから条件に合致するデータを抽出したいと考えています。
9
9
  例として下のテストデータを例に詳細を書きます。
10
10
 
11
- |KEY|CODE1|CODE2|VALUE
11
+ |KEY(STRING)|CODE1(STRING)|CODE2(STRING)|VALUE(STRING)
12
12
  |:--|:--:|:--:|--:|
13
13
  |1|001|0|テスト1-1
14
14
  |2|001|1|テスト1-2
@@ -51,10 +51,13 @@
51
51
  Next
52
52
 
53
53
  ```
54
+ ### 期待値・実行結果
55
+ ■期待値
56
+ KEY=1、KEY=2、KEY=6のデータを抽出したい
57
+ (row("CODE1") = str Or (linq.Where(Function(row) row("CODE1") = str And row("CODE2") >= 0))
54
58
 
55
- このようなLINQを作り実行したところ、Where句がAndで繋がってしまい
59
+ 実行結果
56
- CODE1001かつ003データを取得しようしているため、取得結果0件となってしまいます。
60
+ CODE1=001のWhere句CODE1=003のWhere句がAnd条件となってしまい抽出結果0件
61
+ (row("CODE1") = str And (linq.Where(Function(row) row("CODE1") = str And row("CODE2") >= 0))
57
62
 
58
- これをCODE1が001と003両データ取得できるようOrで繋ぐ方法はありませんでょうか?
63
+ 複数Where句作られた場合に、それらをOr条件実行たいと考えています。
59
- linq.Where(Function(row) row("CODE1") = str Or (row("CODE1") = str And row("CODE2") = 0))
60
- というようにできればいいのですが、検索条件となるCODE1が動的に変わるため上のようにコーディングできず困っています。

2

開発環境追加

2020/09/19 00:19

投稿

conn_e
conn_e

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  ### 開発環境
2
2
  Windows10
3
3
  VisualStudio 2017
4
+ VB.NET
4
5
  .Net Framework 4.6.2
5
6
 
6
7
  ### 前提・実現したいこと

1

開発環境追加

2020/09/18 14:35

投稿

conn_e
conn_e

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,8 @@
1
+ ### 開発環境
2
+ Windows10
3
+ VisualStudio 2017
4
+ .Net Framework 4.6.2
5
+
1
6
  ### 前提・実現したいこと
2
7
  LINQを使い、データテーブルから条件に合致するデータを抽出したいと考えています。
3
8
  例として下のテストデータを例に詳細を書きます。