Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9611 / 13644 ツリー ←次へ | 前へ→

【26412】あいまい検索 さつき 05/7/4(月) 19:25 質問[未読]
【26414】Re:あいまい検索 ichinose 05/7/4(月) 20:07 発言[未読]
【26438】Re:あいまい検索 さつき 05/7/5(火) 17:25 お礼[未読]

【26412】あいまい検索
質問  さつき  - 05/7/4(月) 19:25 -

引用なし
パスワード
   以前こちらで教えていただいたコードを応用して、別のプログラムを作らなければいけなくなりました。

契約者名  支店名  担当者名
NEC
富士通
東芝
日立

上のようなエクセルシートがあって、担当者リストから、担当者と支店名を貼り付けていくのですが、担当者リストの方の契約者名には、例えば、NEC株式会社とか株式会社富士通などというように正式な名称が入っています。あいまい検索によって、貼り付ける方法をどなたか教えてください。よろしくお願いいたします。

以下のようなコードではエラーは出ませんが、検索が上手く行っていないようで、データを貼り付けてくれませんでした。


Sub TEST1()
Dim SQLCode As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim dbName As String
Dim Kiten As range
Dim Cnt As Long
Dim k As Long
 
  Set Kiten = range("b1")
 
  Set cnn = New ADODB.Connection
  cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
             & "Data Source=C:\Documents and Settings\週報.mdb"
  cnn.Open
 
  Set rst = New ADODB.Recordset
   
  For Cnt = Kiten.row To Kiten.End(xlDown).row
    SQLCode = "SELECT 担当リスト.* " _
        & "FROM 担当リスト " _
        & "WHERE 契約者名 like '*" & Cells(Cnt, 1) & "*';"

    rst.Open SQLCode, cnn
      i = 3
      Do Until rst.EOF
        For j = 0 To 1
        Cells(Cnt, i) = rst.Fields(j)
        i = i + 1
        Next j
        rst.MoveNext
      Loop
    rst.Close

  Next

  Set rst = Nothing
  cnn.Close
  Set cnn = Nothing
End Sub

【26414】Re:あいまい検索
発言  ichinose  - 05/7/4(月) 20:07 -

引用なし
パスワード
   ▼さつき さん:
こんばんは。

>   
>  For Cnt = Kiten.row To Kiten.End(xlDown).row
>    SQLCode = "SELECT 担当リスト.* " _
>        & "FROM 担当リスト " _
        & "WHERE 契約者名 like '%" & Cells(Cnt, 1) & "%';"
>
ざっと見た限りではこれだと思いますが、
確認してください

【26438】Re:あいまい検索
お礼  さつき  - 05/7/5(火) 17:25 -

引用なし
パスワード
   ichinose さん

できました!
ありがとうございました。

9611 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free