Изменить команду SQL в соединении Excel - PullRequest
2 голосов
/ 07 февраля 2012

Я работаю с Excel 2010. Мне нужно создать макрос, который после ввода текста в определенной ячейке изменяет текст команды SQL соединения с базой данных соответственно введенному тексту. После выполнения обновления должна отображаться новейшая информация из базы данных.

У меня проблема с изменением текста команды SQL. Приведенный ниже код - строка «Set qTable ..», если быть точным, дает мне ошибку «Runtime error 9 subscript out of 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. Я с нетерпением жду ваших ответов!

1 Ответ

2 голосов
/ 07 февраля 2012

При просмотре в браузере объектов ListObject имеет одну QueryTable, а не коллекцию QueryTables, поэтому;

Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...