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

質問編集履歴

3

2018/10/18 05:25

投稿

yuujiMotoki
yuujiMotoki

スコア90

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

2

1

2018/10/18 05:25

投稿

yuujiMotoki
yuujiMotoki

スコア90

title CHANGED
File without changes
body CHANGED
@@ -68,10 +68,8 @@
68
68
  Option Compare Database
69
69
  Option Explicit
70
70
 
71
- Const CmbNo As String = "CmbNo"
72
- Const CmbPad As String = "Pad"
73
- Const CmbTest As String = "CmbTest"
74
71
 
72
+
75
73
  Public Sub Set_Fileter(Form As Variant)
76
74
  Dim key
77
75
  Dim filt: filt = ""
@@ -83,7 +81,7 @@
83
81
  If .ControlType = acComboBox Then
84
82
  Debug.Print .RowSource
85
83
 
86
- key = Replace(正規表現(.RowSource, "[.+FROM").Item(0).Value, " FROM", "")
84
+ key = Replace(Replace(正規表現(.RowSource, "SELECT .+ FROM").Item(0).Value, " FROM", ""), "SELECT ", "")
87
85
  If Not IsNull(.Value) Then filt = filt & " " & key & "='" & .Value & "' AND "
88
86
  i = i + 1
89
87
  End If
@@ -98,4 +96,18 @@
98
96
  End Sub
99
97
 
100
98
 
99
+
100
+ Function 正規表現(msg As String, strPattern As String) As Object
101
+ Dim RE As Object
102
+ Set RE = CreateObject("VBScript.RegExp")
103
+ With RE
104
+ .Pattern = strPattern ''検索パターンを設定
105
+ .IgnoreCase = True ''大文字と小文字を区別しない
106
+ .Global = True ''文字列全体を検索
107
+ Set 正規表現 = .Execute(msg)
108
+ End With
109
+ End Function
110
+
111
+
112
+
101
113
  ```

1

2018/10/18 05:19

投稿

yuujiMotoki
yuujiMotoki

スコア90

title CHANGED
File without changes
body CHANGED
@@ -33,7 +33,7 @@
33
33
 
34
34
  フォームのフィルタ条件
35
35
 
36
- [グラフデータ].Pad='167_169' AND [グラフデータ].試験名='サーマルサイクル(TC)' AND [NO]='101'
36
+ [グラフデータ].Pad='167_169' AND [グラフデータ].試験名='サーマルサイクル(TC)' AND [グラフデータ].NO='101'
37
37
 
38
38
  ```
39
39
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  SELECT [グラフデータ].Pad FROM グラフデータ;
46
46
  SELECT [グラフデータ].試験名 FROM グラフデータ GROUP BY [グラフデータ].試験名;
47
- SELECT NET付グラフデータ.[NO] FROM NET付グラフデータ GROUP BY NET付グラフデータ.[NO];
47
+ SELECT [グラフデータ].NO FROM グラフデータ GROUP BY [グラフデータ].NO;
48
48
  ```
49
49
 
50
50