Я следую коду, который я нашел на другом сайте. Вот основы моего кода:Таблицы запросов (QueryTables) в Excel 2010 с VBA с VBA, создающими множество соединений.
Dim SQL As String
Dim connString As String
connString = "ODBC;DSN=DB01;UID=;PWD=;Database=MyDatabase"
SQL = "Select * from SomeTable"
With Worksheets("Received").QueryTables.Add(Connection:=connString, Destination:=Worksheets("Received").Range("A5"), SQL:=SQL)
.Refresh
End With
End Sub
Проблема с делать это каждый раз, когда они попали кнопку, присвоенное это создает новое соединение и не всегда, кажется, уронить его. Я открываю таблицу после тестирования, и есть много версий соединения, перечисленных в разделе «Подключения». Подключение Connection1 Connection2
Я не могу найти способ закрыть или удалить соединения. Если я добавлю «.delete» после «.Refresh», я получаю ошибку 1004. Эта операция не может быть выполнена, поскольку данные обновляются в фоновом режиме.
Любые идеи о том, как закрыть или удалить соединение?
Когда я пытаюсь это сделать, строка Worksheets («Received») ... дает неверный вызов процедуры Run Time Error 5. Я также попытался изменить его из New Connection в New ADODB Connection и соответствующим образом использовать его. Нет кубиков. – DavidStein
Ну, все, что я делал, это ответ отформатированного st0000, но это * - это ответ на ваш оригинальный вопрос о закрытии соединений. Я не работаю в Excel, поэтому я не могу помочь с чем-то другим. – RolandTumble