投稿者 べんきょうちゅう  (社会人) 投稿日時 2014/9/28 23:31:59
 ナシゴレンさん るきおさん ご返事有難うございます。

  なるほど = と LIKE は 同じ役割だったんですね。思い込みで = LIKE と繋げてしまっていました。

これで ご指摘のとおり 3は解決 。

 あと * の件は 掛け算をしようとしていたのですね。 それで 「---'Double' への変換はーーー」のエラーが出ていたわけですか?
文字列の話なのに なぜ Double なの??? と思っていました。エラーの文面をもっと深く読み取るべきでした。
 と いっても 読み解ける自信はありませんが。

 「1つのSQL文は1つの文字列にしてください。」

この意味合いも言葉としては判るような感じですが いざ * と パラメータを埋め込んで書こうと思うと なかなか思うように行きません。

 おっしゃるとおり アクセス2000を使っております。アクセスではクエリーで割と楽に出来ましたが、VBとSQLではつまずいています。

 * を単なる文字ではなく かつ 掛け算記号でもなく 演算子? として 一つの文字列にする。
というような感じでよいのか? と思っています。

 いま あれこれ試していますが 解決にはいたっていません。

ナシゴレンさん るきおさん のご返事をよく読んで もう少しあがいてみます。

下にコードを上げておきます

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database\Tag.mdb")
        Dim Cm As OleDbCommand = Cn.CreateCommand
        Adapter = New OleDbDataAdapter(Cm)
        Dim Builder As New OleDbCommandBuilder(Adapter)
        Dim Table As New DataTable

   ’<<<<<<<<<<<
        
        ' Cm.CommandText = ("SELECT フォルダ FROM T3 WHERE フォルダ  LIKE " '" & "*" & @Code & "*" & "'"")
                     ’LIKE の後ろに )が無いとオコラレル

                          ' 参考   "'" & "%" & txtUser.Text & "%" & "'"  SQLサーバー
                      '参考  Like "*" & [Forms]![F1]![T1] & "*"    アクセス

        'Cm.CommandText = ("SELECT * FROM T3 WHERE フォルダ  LIKE  " * " & @Code & " * " ")
        'Cm.CommandText = ("SELECT * FROM T3 WHERE フォルダ  LIKE  '*@Code*'")
        'Cm.CommandText = ("SELECT * FROM T3 WHERE フォルダ  LIKE 'カフェ'")   ’OK
    'Cm.CommandText = ("SELECT * FROM T3 WHERE フォルダ  LIKE @Code")    ’OK
    'Cm.CommandText = ("SELECT * FROM T3 WHERE フォルダ  LIKE  ' * ' & 'カフェ' & ' * '")

  '<<<<<<<<<<<<<<<<< この部分でいろいろあがいています

        Dim sparam As OleDb.OleDbParameter
        sparam = New OleDb.OleDbParameter("@Code", SqlDbType.TEXT)
        sparam.Value = Me.TextBox1.Text
        Cm.Parameters.Clear()
        Cm.Parameters.Add(sparam)

        Adapter.Fill(Table)

        DataGridView1.DataSource = Table

        Table.Dispose()

    End Sub