Microsoft Access 掲示板

ADODB接続でテーブルをセットする際にエラーが出ます

1 コメント
views
4 フォロー

Access VBAで下記のように記述したのですが
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim rsM As ADODB.Recordset
Set rsM = New ADODB.Recordset
cn.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=(パス)\ファイル名.mdb"
rsM.Open テーブル名, cn , adOpenStatic, adLockOptimistic←ここでエラー

SQLステートメントが正しくありません。'DELETE','INSERT',
'PROCEDURE','SELECT',または'UPDATE'を使用して下さい
というエラーが出ます
テーブルが存在しない場合にもこのエラーは出るようですが
テーブルは存在しています(リンクテーブル)
何が原因なのでしょうか?

hame
作成: 2024/02/03 (土) 15:55:28
通報 ...
1

テーブル名 には実際にはどのような名前がはいってますか。
テーブル名に使用すべきでない文字が含まれているとそのようエラーになります。
そのような場合、名前の前後に"[" "]"を付けると回避できます。

下記のように変更したらどうでしょう。

rsM.Open "[" & テーブル名 & "]" , cn , adOpenStatic, adLockOptimistic

可能ならばこのような特殊文字は使わないテーブル名に変更することをお勧めします。

Access データベースで特殊文字を使用したエラー - Microsoft 365 Apps | Microsoft Learn