Excel VBAからMS Accessクエリを実行します。そのために、ADODB.ConnectionとADODB.Commandを使ってクエリを呼び出しています。原則として動作しますが、名前には「Query_3/6/1/1」というスラッシュが含まれているため、問題があります。以下のスクリプトを実行すると、「Microsoft Office Accessデータベースエンジンが入力テーブルまたはクエリ 'Query_3'を見つけることができません」というエラーメッセージが表示されます。したがって、スラッシュに続く名前の残りの部分は考慮しません。私はすでに括弧[]でそれをエスケープしようとしましたが、それは役に立ちません。スラッシュを含むモジュール名でExcel VBAからアクセスクエリを実行
モジュールの名前を変更すると動作しますが、それらのモジュールが多数あり、すでに他の依存関係が存在するため、実際には解決策ではありません。
私は非常に助けてうれしいです!
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
With con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open "C:\Users\...\file.accdb"
End With
With cmd
.ActiveConnection = con
.CommandText = "Query_3/6/1/1"
.CommandType = adCmdStoredProc
End With
Set rs = New ADODB.Recordset
rs.Open cmd
...