前提
掲題の件についてご教示ください。
ExcelのVBAでAccessのDB内のレコードを取得するプログラムを作成しています。
Accessのファイル
テーブル名:testtable
フィールドは以下の3つです。
id,name,comment
実現したいこと
VBAの中で使用している変数(key)を含むレコードを取得したい。
発生している問題・エラーメッセージ
以下のSQL文を作成して実行しているのですが、以下のエラー文が表示され実行できません。
strSQL = "SELECT * FROM testtable WHERE name" & "=" & key & ""
※keyはVBAの変数です。
実行時エラー'2147217900(80040e14)'; クエリ式'name=変数の中身'の数値構文エラーです。
該当のソースコード
VBA
1※変数関連 2Dim adoCn As Object 'Accessへ接続用のオブジェクト 3Dim strSQL As String 'SQL文 4Dim adoRs As Object 'ADOレコードセットオブジェクト 5Dim DBpath As String 'Accessファイルのフルパス 6DBpath = "ファイルのパス" 7Dim key As String 8Dim myArray As Variant 9 10'Accessファイルへ接続する 11Set adoCn = CreateObject("ADODB.Connection") 12adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBpath & "\" & strFileName & ";" 13 14 15'オブジェクトの設定(取得用) 16Set adoRs = CreateObject("ADODB.Recordset") 17adoRs.CursorLocation = 3 ' クライアントサイドカーソルに変更 18 19key = Cells(i, 2).Value'keyはセルのValueを入れています。 20 21'SQLに問い合わせ 22strSQL = "SELECT name FROM testtable WHERE name" & "=" & key & "" 23 24★ここでエラーが表示されます。 25adoRs.Open strSQL, adoCn 26
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/05 06:14