質問編集履歴
5
関連コードを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -289,3 +289,73 @@
|
|
289
289
|
|
290
290
|
|
291
291
|
修正させていただきます。ご指摘ありがとうございます。とても助かります。
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
### 追記5
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
今回の問題に関係があるかもしれませんので、別のモジュールに書かれてあるコードを併載させていただきます。
|
300
|
+
|
301
|
+
どうぞよろしくお願いします。
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
```vba
|
306
|
+
|
307
|
+
Option Explicit
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
'---ACCESS接続用
|
312
|
+
|
313
|
+
Private adoCn As Object
|
314
|
+
|
315
|
+
Private adoRs As Object
|
316
|
+
|
317
|
+
Private strSQL As String
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
'データベースに接続
|
322
|
+
|
323
|
+
Sub ConnectDB(flg As Boolean)
|
324
|
+
|
325
|
+
Dim DBpath As String
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
'DBpath = ThisWorkbook.Path
|
330
|
+
|
331
|
+
DBpath = "\○○○\○○○\○○○"
|
332
|
+
|
333
|
+
If flg = True Then Set adoRs = CreateObject("ADODB.Recordset")
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
Set adoCn = CreateObject("ADODB.Connection")
|
338
|
+
|
339
|
+
adoCn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = " & DBpath & "\○○○.mdb;"
|
340
|
+
|
341
|
+
End Sub
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
'データベースを切断
|
346
|
+
|
347
|
+
Sub CutDB(flg As Boolean)
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
If flg = True Then adoRs.Close
|
352
|
+
|
353
|
+
adoCn.Close
|
354
|
+
|
355
|
+
Set adoRs = Nothing
|
356
|
+
|
357
|
+
Set adoCn = Nothing
|
358
|
+
|
359
|
+
End Sub
|
360
|
+
|
361
|
+
```
|
4
追記4を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -213,3 +213,79 @@
|
|
213
213
|
|
214
214
|
|
215
215
|
ただ、まだ解決には至っておりません……
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
### 追記4(2018/03/15)
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
> まず、デバッグするときは、エラー処理はコメントにしましょう。
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
ご指摘のとおりしましたところ、次の行にエラーが出ておりました。
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
```vba
|
232
|
+
|
233
|
+
adoRs.Open strSQL, adoCn
|
234
|
+
|
235
|
+
```
|
236
|
+
|
237
|
+
``strSQL = "SELECT 顧客コード,姓,名,住所1,住所2,電話番号1,電話番号2 FROM 顧客マスター"``のすぐ下の行です。
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
エラーメッセージは次のとおりです。
|
242
|
+
|
243
|
+
**実行エラー'91':**
|
244
|
+
|
245
|
+
**オブジェクト変数またはWithブロック変数が設定されていません。**
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
> どのような「検索」がしたいのですか。言葉で説明してみてください。
|
250
|
+
|
251
|
+
特に検索対象フィールドは何か、どのような条件で検索するのかを説明してください。
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
検索対象フィールドは
|
256
|
+
|
257
|
+
**「姓」「セイ」「電話番号1」「電話番号2」**
|
258
|
+
|
259
|
+
というのを想定しています。
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
リストボックスに表示させたいフィールドが
|
264
|
+
|
265
|
+
**「顧客コード」「姓」「名」「住所1」「住所2」「電話番号1」「電話番号2」**
|
266
|
+
|
267
|
+
でした。
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
検索条件についてですが、
|
272
|
+
|
273
|
+
**1つめのテキストボックスに「姓」または「セイ」を入力する**
|
274
|
+
|
275
|
+
**2つめのテキストボックスに「電話番号」を入力する**
|
276
|
+
|
277
|
+
ということを想定しています。
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
**このうちのいずれかがデータと一致**していたら、検索結果が表示されるようにしたいです。
|
282
|
+
|
283
|
+
テキストボックスは2つ用意してますが、使用するのは基本的にどちらか1つで、より絞り込んで検索したい場合は2つとも使用する、というふうに考えております。
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
> ``Me.SurchList`` というように記述しましょう。
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
修正させていただきます。ご指摘ありがとうございます。とても助かります。
|
3
引き続き、リストボックスについて
test
CHANGED
File without changes
|
test
CHANGED
@@ -187,3 +187,29 @@
|
|
187
187
|
|
188
188
|
|
189
189
|
取り急ぎコメントしております。自分でもここら辺のことを調べてみます。
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
(追記3)
|
194
|
+
|
195
|
+
> おそらくadoRsはConnectDB関数の中で操作しているはずです。
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
おっしゃる通りで、確認できました。
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
>SurchListは画面上に貼り付けたリストボックスのはずです。
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
これもその通りです(上記質問では説明不足ですみません)。ユーザーフォームに貼り付けています。
|
208
|
+
|
209
|
+
プロパティのオブジェクト名は一致しているのですが、うまく行きません……
|
210
|
+
|
211
|
+
スペルミスのご指摘ありがとうございます。恥をかかずにすみました。
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
ただ、まだ解決には至っておりません……
|
2
オブジェクトについて
test
CHANGED
File without changes
|
test
CHANGED
@@ -136,7 +136,7 @@
|
|
136
136
|
|
137
137
|
|
138
138
|
|
139
|
-
追記
|
139
|
+
(追記)
|
140
140
|
|
141
141
|
|
142
142
|
|
@@ -155,3 +155,35 @@
|
|
155
155
|
|
156
156
|
|
157
157
|
該当箇所は書籍やネットを参照した感じだと、これで合ってそうなので、どう間違っているのか分かりません。
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
(追記2)
|
164
|
+
|
165
|
+
なるほど。オブジェクトについてよく理解していませんでした。
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
Set adoRs = ○○
|
170
|
+
|
171
|
+
Set SurchList = ○○
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
という記述が必要だということでよろしいでしょうか?
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
(追記2-2)
|
180
|
+
|
181
|
+
> set SurchList = ○○ ←インスタンス(実体)への参照を作る
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
○○ には CreatObject("△△")を使うということで合っていますでしょうか?
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
取り急ぎコメントしております。自分でもここら辺のことを調べてみます。
|
1
SurchListの宣言を記述しての結果、イミディエイトウィンドウに表示されていたテキストを追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -133,3 +133,25 @@
|
|
133
133
|
End Sub
|
134
134
|
|
135
135
|
```
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
追記
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
Dim SurchList As Object を追加してみましたが、やはり同じ症状でした。。
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
さきほど気づいたのですが、イミディエイトウィンドウに以下のテキストが表示されていました。
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
「オブジェクト変数またはWithブロック変数が設定されていません。
|
152
|
+
|
153
|
+
SELECT 顧客コード,姓,名,住所1,住所2,電話番号1,電話番号2 FROM 顧客マスター」
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
該当箇所は書籍やネットを参照した感じだと、これで合ってそうなので、どう間違っているのか分かりません。
|