2012-02-07 5 views
2

Excel 2010で作業しています。特定のセルにテキストを入力した後に、入力されたテキストに対応するデータベースへの接続のSQLコマンドテキストを変更するマクロを作成する必要があります。リフレッシュを実行した後、データベースから最新の情報を表示する必要があります。Excelの接続でSQLコマンドを変更する

SQLコマンドテキストの変更に問題があります。以下のコード - "Set qTable .."行は正確に "Runtime error 9 subscript in range"エラーを返します。

Dim qTable As QueryTable 
Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTables(1) 
qTable.commandText = commandText 
qTable.Refresh 

「Dynamic_Reports」は、Excelファイルの名前です。 "レポート"は、情報を更新する必要があるワークシートの名前です。

上記のエラーについて同様の投稿がありましたが、いずれもQueryTableのプロパティについては言及していません。私はあなたの答えを楽しみにしています!

答えて

2

オブジェクトブラウザで見ると、ListObjectにはQueryTablesコレクションではなくQueryTableが1つあります。

Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTable 
+0

まだ動作しません。 "ランタイムエラー '9':範囲外の下付き文字" – ositra

関連する問題