#vba #excel
#vba #excel
Вопрос:
У меня есть форма в Excel, на которой есть кнопка. Предполагается, что при нажатии кнопки обновляется SQL-запрос, время и дата вычисляются и сохраняются на скрытом листе, а метка кнопки обновляется с указанием времени и даты со скрытого листа (чтобы на кнопке всегда отображались дата и время последнего обновления).
Это код, который я написал….
Private Sub CheckTBsQueryRefreshBtn_Click()
Dim LastRf
CheckTBsQueryRefreshLbl.Caption = ("Getting Data")
ActiveWorkbook.Connections("CheckTbs").Refresh
LastRf = ("Last Refreshed: ") amp; Now
Sheet47.Range("CheckTBsLbl").Value = LastRf
CheckTBsQueryRefreshLbl.Caption = LastRf
End Sub
Я обнаружил, что при нажатии кнопки я получаю «Подключение к источнику данных», а затем «Запуск фонового запроса ….» с вращающимся глобусом — но запрос фактически не обновляется ….. глобус продолжает вращаться, и запрос будет завершен только в том случае, еслиЯ закрываю форму.
Я что-то упускаю из своего кода?
Комментарии:
1. Вы пробовали добавлять
ActiveWorkbook.Connections("CheckTbs").OLEDBConnection.BackgroundQuery = false
?2. Это работает! — Для всех моих отдельных запросов было установлено, что они не используют фоновый запрос, я думаю, ActiveWorkbook. Соединения («»). Метод обновления пытается использовать фоновый запрос по умолчанию, что вызывает конфликт.
3. Рад, что разобрался. Я не знаю, почему по умолчанию разрешены фоновые запросы!