回答編集履歴
2
コードの修正
answer
CHANGED
@@ -58,6 +58,7 @@
|
|
58
58
|
.List(cnt,5) = adoRs(5).Value
|
59
59
|
.List(cnt,6) = adoRs(6).Value
|
60
60
|
adoRs.MoveNext
|
61
|
+
cnt = Cnt + 1
|
61
62
|
Loop
|
62
63
|
End With
|
63
64
|
End If
|
1
サンプルコードの追加
answer
CHANGED
@@ -14,4 +14,60 @@
|
|
14
14
|
|
15
15
|
複数列のリストボックスの作成は下記が参考になるでしょう。
|
16
16
|
|
17
|
-
[Office TANAKA - Excel VBA Tips[複数列のリストボックス]](http://officetanaka.net/excel/vba/tips/tips158.htm)
|
17
|
+
[Office TANAKA - Excel VBA Tips[複数列のリストボックス]](http://officetanaka.net/excel/vba/tips/tips158.htm)
|
18
|
+
|
19
|
+
サンプルコード
|
20
|
+
---
|
21
|
+
|
22
|
+
条件の詳細な仕様が不明なので、部分一致で、(姓, セイ) と (電話番号1, 電話番号2) はAND条件 と仮定してます。
|
23
|
+
|
24
|
+
```vba
|
25
|
+
'---ユーザーを検索
|
26
|
+
Sub SearchButton_Click()
|
27
|
+
Dim strSQL As String
|
28
|
+
Dim cnt As long
|
29
|
+
' On Error GoTo Err_Handler 'エラーが起きたら"Err_Handler"へ
|
30
|
+
Call ConnectDB 'データベースに接続
|
31
|
+
|
32
|
+
strSQL = "SELECT 顧客コード,姓,名,住所1,住所2,電話番号1,電話番号2, セイ FROM 顧客マスター"
|
33
|
+
adoRs.Open strSQL, adoCn
|
34
|
+
|
35
|
+
If adoRs.BOF And adoRs.EOF Then 'データがない場合、データベースを切断して終了
|
36
|
+
Call CutDB
|
37
|
+
MsgBox "参照先にデータがありません。"
|
38
|
+
Exit Sub
|
39
|
+
End If
|
40
|
+
|
41
|
+
'抽出条件を設定してフィルタをかける
|
42
|
+
adoRs.Filter = "姓 & メイ Like '%" & Me.TextBox1.Value & "%'" & _
|
43
|
+
" AND 電話番号1 & ";" & 電話番号2 Like '%" & Me.TextBox1.Value & "%'"
|
44
|
+
If adoRs.BOF AND adoRs.EOF Then
|
45
|
+
Call CutDB
|
46
|
+
MsgBox "条件に一致するデータがありません。"
|
47
|
+
Else
|
48
|
+
With Me.SearchList '該当したレコードをリストボックスに表示する
|
49
|
+
.ColumnCount = 7 '列数 7
|
50
|
+
.ColumnWidths = "10;30;30;100;50;50" '列幅を設定
|
51
|
+
Do Until adoRs.EOF '抽出したレコードが終了するまで繰り返す
|
52
|
+
.AddItem ""
|
53
|
+
.List(cnt,0) = adoRs(0).Value
|
54
|
+
.List(cnt,1) = adoRs(1).Value
|
55
|
+
.List(cnt,2) = adoRs(2).Value
|
56
|
+
.List(cnt,3) = adoRs(3).Value
|
57
|
+
.List(cnt,4) = adoRs(4).Value
|
58
|
+
.List(cnt,5) = adoRs(5).Value
|
59
|
+
.List(cnt,6) = adoRs(6).Value
|
60
|
+
adoRs.MoveNext
|
61
|
+
Loop
|
62
|
+
End With
|
63
|
+
End If
|
64
|
+
|
65
|
+
Call CutDB '検索がすんだら、データベースを切断して終了
|
66
|
+
Exit Sub
|
67
|
+
|
68
|
+
Err_Handler: 'エラーが起きたときの飛び先
|
69
|
+
Call CutDB
|
70
|
+
MsgBox Error$
|
71
|
+
|
72
|
+
End Sub
|
73
|
+
```
|