Я следую коду, который нашел на другом сайте. Вот основы моего кода:
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 Соединение2
Я не могу найти способ закрыть или удалить соединения. Если я добавлю «.delete» после «.Refresh», я получаю ошибку 1004. Эта операция не может быть выполнена, так как данные обновляются в фоновом режиме.
Любые идеи, как закрыть или удалить соединение?