質問編集履歴
1
回答いただいた内容から質問文追記。仕様修正および代替案希望。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
データベースクラスからComboboxへループを回してItem追加したい
|
test
CHANGED
@@ -1,30 +1,80 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
①UserFormのComboboxのア
|
3
|
+
①UserFormのComboboxのアItemを条件によって丸ごと入れ替えたい。
|
4
4
|
|
5
5
|
②UserFormを開く際に条件は確定されている。
|
6
6
|
|
7
7
|
③Comboboxに入れたいリストは他のDBクラスに記載。(コードが長くなるため)
|
8
8
|
|
9
|
-
④
|
9
|
+
④データベースクラスのItemリスト(文字列)は条件ごとにひとまとめにしておきたい。
|
10
10
|
|
11
|
+
⑤データベースクラスのItemリストは今後データが増えることを考慮して編集はしやすくしたい。(実行時に動的な編集はしない。コーディング時のみ編集する)
|
12
|
+
|
11
|
-
|
13
|
+
⑥ComboboxにItemを入れる際はなるべく手作業でコードを編集しなくて良いように、ループを回したり、対象リストを丸ごといれたい。
|
12
14
|
|
13
15
|
|
14
16
|
|
15
|
-
|
17
|
+
下記の試したことでは実現できないようなので、何か代替案を頂ければ幸いです。
|
18
|
+
|
19
|
+
データベースクラスのItemリストは新規でつくるため、データ格納方法は変えられます。
|
16
20
|
|
17
21
|
|
18
22
|
|
19
23
|
### 試したこと
|
20
24
|
|
21
|
-
管理しやすくし、他の処理で数値が使えるため、
|
25
|
+
管理しやすくし、他の処理で数値が使えるため、データベースクラスには条件数分のEnumを作りアイテム名を列挙しました。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
'DB class
|
30
|
+
|
31
|
+
Enum data1
|
32
|
+
|
33
|
+
aaa=1
|
34
|
+
|
35
|
+
bbb
|
36
|
+
|
37
|
+
ccc
|
38
|
+
|
39
|
+
・・・・
|
40
|
+
|
41
|
+
fin
|
42
|
+
|
43
|
+
End Enum
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
Enum data2
|
48
|
+
|
49
|
+
abab=1
|
50
|
+
|
51
|
+
bcbc
|
52
|
+
|
53
|
+
・・・・
|
54
|
+
|
55
|
+
fin
|
56
|
+
|
57
|
+
End Enum
|
58
|
+
|
59
|
+
|
22
60
|
|
23
61
|
UsrForm側で、
|
24
62
|
|
25
|
-
|
63
|
+
select case 条件
|
26
64
|
|
65
|
+
case 条件
|
66
|
+
|
67
|
+
For i=1 to (DB.data1.fin -1)
|
68
|
+
|
69
|
+
Combobox.addItem DB.data1.列挙子名(index)
|
70
|
+
|
71
|
+
Next
|
72
|
+
|
73
|
+
・・・
|
74
|
+
|
75
|
+
End select
|
76
|
+
|
27
|
-
みたいな感じにForループでEnum要素数分アイテムを入れようとしましたが、列挙子の文字
|
77
|
+
みたいな感じにForループでEnum要素数分アイテムを入れようとしましたが、ご回答いただいたところ、VBAでは列挙子の文字が取得できないようでした。
|
28
78
|
|
29
79
|
|
30
80
|
|
@@ -33,5 +83,3 @@
|
|
33
83
|
### 補足情報(FW/ツールのバージョンなど)
|
34
84
|
|
35
85
|
VBA6.5
|
36
|
-
|
37
|
-
ここにより詳細な情報を記載してください。
|