よろしくお願いいたします。
Accessのフォーム上のボタンイベントで、SQLserverよりテーブルデータを取得するイベントプロシージャを書いています。
しかし、実行時エラーが起きてしまい、下記コードの
Rs.Open strSQL, Cn, adOpenForwardOnly, adLockReadOnly
に黄色のカーソルがフォーカスされます。
エラー内容は、
「実行時エラー'2147217900(80040e14);
キーワード'WHERE'付近に不適切な構文があります。」
でした。
原因及び修正方法が調べても特定できません。
有職者の皆様にお知恵をいただきたく存じます。
Private Sub クエリ取得_Click() Dim Cn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim strSQL As String Dim strConnectionString As String 'SQLServer接続文字列 strConnectionString = CStr(DLookup("connectionString", "接続文字列テーブル", "ID= 2")) //Access自身のテーブルに、接続文字列を入れて、その値を変数に代入しています strSQL = "SELECT * FROM Q_m_kokyaku_shohin" strSQL = strSQL & " WHERE Q_m_kokyaku_shohin like '*%'" Cn.ConnectionString = strConnectionString Cn.Open Rs.Open strSQL, Cn, adOpenForwardOnly, adLockReadOnly //エラーのデバッグポイントはここ Set Me.Recordset = Rs ' Rs.MoveFirst ' Do Until Rs.EOF ' ' ' Rs.MoveNext ' Loop Rs.Close Cn.Close Set Rs = Nothing Set Cn = Nothing End Sub
また、「Q_m_kokyaku_shohin」は、クエリです。
ODBCでSQLserverより接続したリンクテーブルを、二つ使用して作っています。
このクエリをの全データの中から、任意の一文字の前方一致検索に対応するデータを
取得したいです。
また、初めの一文字はユーザーが入力する任意の値を想定している為、「*」を使用しています。
こちらも何か問題のある記述でしょうか。。。
ネットで調べると、「初めがAの前方一致検索」など、特定のを使う方法しか出てこないもので…。
細かい部分の記述の仕方がわからず困っています。
どうかお知恵をお貸しください。

回答3件
あなたの回答
tips
プレビュー