質問編集履歴

3

2018/10/18 05:25

投稿

yuujiMotoki
yuujiMotoki

スコア90

test CHANGED
File without changes
test CHANGED
@@ -14,17 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ある程度、ユーザーが動的にコンボボックスを追加できるように、
18
-
19
- コンボボックスコントロールスから、ィルタリング用の文字列っています。
17
+ 分割フォームを利用して、右側 = 左側のフォム上のグラフを連動させたいと思っています。
20
-
21
-
22
-
23
- 最終的には、下記のフィルタ条件を、関数で作成してフィルタをかけようとしています。
24
-
25
-
26
-
27
- しかしながら、うまく動いてくれません。
28
18
 
29
19
 
30
20
 
@@ -32,29 +22,23 @@
32
22
 
33
23
 
34
24
 
35
- グラフを連動表示させたいため、複数のコンボボックスのAND条件でフィルタリングが必要です。
25
+ 複数のフィルタリング条件考えられるため、AND条件の検索が必要です。
36
-
37
- 現時点では、VBAを駆使するしかありませんでした。
26
+
38
-
39
-
40
-
41
- 1)分割フォムのフィルタ式は、これ間違っていませんでしょか?
27
+ 使用するユザーが動的にコンボボックスを追加きるよに、
42
-
43
- 2)もっとマシな方法はありませんでしょうか?
28
+
44
-
45
-
46
-
47
- 右側のテーブル = グラフの表示と、1対1で連動させたいと思っています。
48
-
49
- グラフのコントロールソースどうたらいいの、これも課題になっています。
29
+ コンボボックスのコントロールソースから、フィルタ条件関数で作成てフィルタをています。
30
+
31
+
32
+
50
-
33
+ データのフィルタリングはまでは、できてはいるのですが、
34
+
51
-
35
+ この先のやり方が見えずに、今の方法に疑問を感じています。
52
-
36
+
37
+
38
+
53
- 以上で私のやりたいことを、伝られまでしょうか?
39
+ もっとほかにかしこいやり方があっら教て欲いのでしょうか?
40
+
54
-
41
+ (以上で、だいたいの私のやりたいイメージをお伝えできていると思いますが・・・)
55
-
56
-
57
-
58
42
 
59
43
 
60
44
 

2

1

2018/10/18 05:25

投稿

yuujiMotoki
yuujiMotoki

スコア90

test CHANGED
File without changes
test CHANGED
@@ -138,11 +138,7 @@
138
138
 
139
139
 
140
140
 
141
- Const CmbNo As String = "CmbNo"
141
+
142
-
143
- Const CmbPad As String = "Pad"
144
-
145
- Const CmbTest As String = "CmbTest"
146
142
 
147
143
 
148
144
 
@@ -168,7 +164,7 @@
168
164
 
169
165
 
170
166
 
171
- key = Replace(正規表現(.RowSource, "[.+FROM").Item(0).Value, " FROM", "")
167
+ key = Replace(Replace(正規表現(.RowSource, "SELECT .+ FROM").Item(0).Value, " FROM", ""), "SELECT ", "")
172
168
 
173
169
  If Not IsNull(.Value) Then filt = filt & " " & key & "='" & .Value & "' AND "
174
170
 
@@ -198,4 +194,32 @@
198
194
 
199
195
 
200
196
 
197
+
198
+
199
+ Function 正規表現(msg As String, strPattern As String) As Object
200
+
201
+ Dim RE As Object
202
+
203
+ Set RE = CreateObject("VBScript.RegExp")
204
+
205
+ With RE
206
+
207
+ .Pattern = strPattern ''検索パターンを設定
208
+
209
+ .IgnoreCase = True ''大文字と小文字を区別しない
210
+
211
+ .Global = True ''文字列全体を検索
212
+
213
+ Set 正規表現 = .Execute(msg)
214
+
215
+ End With
216
+
217
+ End Function
218
+
219
+
220
+
221
+
222
+
223
+
224
+
201
- ```
225
+ ```

1

2018/10/18 05:19

投稿

yuujiMotoki
yuujiMotoki

スコア90

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
 
71
- [グラフデータ].Pad='167_169' AND [グラフデータ].試験名='サーマルサイクル(TC)' AND [NO]='101'
71
+ [グラフデータ].Pad='167_169' AND [グラフデータ].試験名='サーマルサイクル(TC)' AND [グラフデータ].NO='101'
72
72
 
73
73
 
74
74
 
@@ -90,7 +90,7 @@
90
90
 
91
91
  SELECT [グラフデータ].試験名 FROM グラフデータ GROUP BY [グラフデータ].試験名;
92
92
 
93
- SELECT NET付グラフデータ.[NO] FROM NET付グラフデータ GROUP BY NET付グラフデータ.[NO];
93
+ SELECT [グラフデータ].NO FROM グラフデータ GROUP BY [グラフデータ].NO;
94
94
 
95
95
  ```
96
96