VBA не будет Refre sh запросов - PullRequest
0 голосов
/ 07 апреля 2020

Предыстория: в настоящее время я работаю над созданием базы данных с использованием Excel. У меня будет одна центральная рабочая книга Excel, в которой таблицы будут храниться на отдельных листах с данными. Другие рабочие книги будут взаимодействовать с этой рабочей книгой базы данных и будут вводить новые строки или заменять существующие строки в таблицах каждым пользовательским интерфейсом. Рабочие книги пользовательского интерфейса будут иметь таблицы запросов, извлекаемые из таблиц рабочих книг базы данных по мере необходимости, чтобы предоставить пользователям информацию. Я уверен, что должен быть лучший способ сделать это. Любые советы трюки или указатели очень ценятся.

Проблема: я записал в свой код ввода базы данных VBA значение Refre sh Все запросы, однако он не обновляет запросы. Я сделал отдельную подпрограмму для обновления запросов, но когда она вызывается входным кодом Databse, это не так.

Sub Refresh_Queries

Dim ActWB as Object
Set ActWB = ThisWorkbook
ActWB.RefreshAll

End Sub

1 Ответ

1 голос
/ 08 апреля 2020

Это настоящие объекты запроса или что-то еще? Убедитесь, что вы действуете на правильный тип объекта. Может быть, это соединения с книгой. Просто сделайте предположение здесь ...

Sub Something()

Dim Connection As Variant
For Each Connection In ActiveWorkbook.Connections
    Connection.OLEDBConnection.BackgroundQuery = False
    Connection.Refresh

Next Connection

End Sub

Или ...

Sub Workbook_RefreshAll()
    ActiveWorkbook.RefreshAll
End Sub

Я видел некоторые странные вещи в прошлом, например, когда делаю один рефр sh не делает ' т работает, но делать это во второй раз работает прекрасно. Для получения дополнительных сведений о том, что можно сделать, чтобы обновить sh запросы, соединения и т. П., См. Ссылку ниже.

https://analysistabs.com/vba-code/workbook/m/refreshall/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...