質問編集履歴

5

関連コードを追加

2018/03/15 02:18

投稿

miniryu
miniryu

スコア15

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を追加

2018/03/15 02:18

投稿

miniryu
miniryu

スコア15

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

引き続き、リストボックスについて

2018/03/15 01:31

投稿

miniryu
miniryu

スコア15

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

オブジェクトについて

2018/03/14 09:03

投稿

miniryu
miniryu

スコア15

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の宣言を記述しての結果、イミディエイトウィンドウに表示されていたテキストを追記しました。

2018/03/14 07:20

投稿

miniryu
miniryu

スコア15

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
+ 該当箇所は書籍やネットを参照した感じだと、これで合ってそうなので、どう間違っているのか分かりません。