Таблицы запросов (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

Проблема с тем, чтобы делать это каждый раз, когда они нажимают кнопку, назначенную ему создает новое соединение и, кажется, никогда не разрывает его. Я открываю электронную таблицу после тестирования, и есть много версий соединения, перечисленных в разделе "Подключения". Подключение Подключение1 Connection2

Кажется, я тоже не могу найти способ закрыть или удалить соединения. Если я добавлю «.delete» после «.Refresh», я получу ошибку 1004. Эту операцию нельзя выполнить, потому что данные обновляются в фоновом режиме.

Есть идеи, как закрыть или удалить соединение?

5
задан Community 9 July 2018 в 19:34
поделиться