Microsoft Access 掲示板

SQLのワイルドカード書き方

1 コメント
views
4 フォロー

Excel2016 ACCESS2016を利用しています。
Excelから、ACCESSのデータを取込したいのです。
名前に川を含んだものを取込したいので、SQLをワイルドカードで書きましたが、
コンパイルエラーで、
ユーザー定義はされていませんとなります。
SQLの書き方が間違っているとおもうのでですか、どのように修正するのか、お手数ですが、ご教示をお願いします。

Sub データ結果取込()

     Dim db As ADODB.Connection
     Dim rs As ADODB.Recordset
     Dim cmd As ADODB.Command
     Dim SQL As String

SQL = "SELECT FROM MT_test WHERE 名前 like" 川 * ""

    Set db = New ADODB.Connection
     db.Provider = "Microsoft.Ace.OLEDB.12.0"
     db.Open "C:\Users\tekis\Desktop\210205\xxxx.accdb"

    Set rs = New ADODB.Recordset
     Set cmd = New ADODB.Command
     Set cmd.ActiveConnection = db
    cmd.CommandText = SQL
     Set rs = cmd.Execute

     If rs.EOF Then
         MsgBox "データ無"
     Else

        Range("AW8").CopyFromRecordset rs
     End If

     rs.Close
     Set rs = Nothing
     Set db = Nothing

    MsgBox ("データ取込完了")
 End Sub

hideki
作成: 2021/02/05 (金) 08:59:31
通報 ...
1
hideki 2021/02/06 (土) 16:09:32 e0d27@96514

SQL = "SELECT FROM MT_test WHERE 名前 like" 川 * ""

*を%に変更して解決しました。