Refresh all обновляет соединения, но не обновляет таблицы

У меня есть три таблицы, которые извлекают данные из базы данных SQL.

Когда я нажимаю «Обновить все» в меню данных, обновляются соединения, но обновляется только сумма таблиц.

Когда я щелкаю правой кнопкой мыши>обновляю сами таблицы, они отражают правильную информацию (говоря мне, что соединение действительно было обновлено).

Я попробовал ActiveBook.RefreshAll и следующий код:

Dim wks As Worksheet
Dim qt As QueryTable

For Each wks In Worksheets
    For Each qt In wks.QueryTables
        qt.Refresh BackgroundQuery:=False
    Next qt

Next wks

Set qt = Nothing

Как обновить таблицу с помощью кода VBA?


person user12447772    schedule 27.11.2019    source источник


Ответы (1)


Вы должны получить доступ к соединениям через Workbook. Пример,

Sub Test()
    Dim con As WorkbookConnection
  
    For Each con In ThisWorkbook.Connections
    ' Your Conditions, for example, check connection name etc. 
    ' If con.Name = "MyConnection" Then
        con.Refresh
    ' Else 
    ' Do your thing
    ' End if
    Next
End Sub

person MRah    schedule 27.11.2019