Вы не используете доступ к способу его использования. Я тоже. :)
Попробуйте добавить следующее объявлений в верхней части модуля:
Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal WindowName As String) As Long
а затем добавьте ниже к командной кнопке, которая вызывает функцию (ы), что изменение VBE:
Application.Echo False
SetWindowPos FindWindow("wndclass_desked_gsk", Application.VBE.MainWindow.Caption), 0&, 0&, 2000&, 1, 1, &H80 Or &H1
<run your code that calls the VBE>
Application.VBE.MainWindow.Visible = False
Application.Echo True
Это первая остановка доступа отображать любые изменения на экране, переместить окно VBE с экрана в то время как он все еще скрывается в фоновом режиме, запускает свой код, скрывает окно в любом случае, как только он выключен экран, а затем снова отображает обновленный экран как обычно. VBE отключен от экрана и скрыт от просмотра панели задач/рабочего стола.
Теперь, перемещая окно VBE с экрана, очевидно, обманывает ... но моему клиенту все равно, если я обманываю или нет.
Это может раздражать (или, что еще хуже), если вы используете этот код, а затем необходимо отлаживать неожиданные ошибки. Кроме того, иногда Access сохраняет эту позицию окна при закрытии, даже в базах данных, что нежелательно. Используйте с осторожностью, или достаточно времени на ваших руках.
Интернет говорит, что следующее должно помочь, но я не получил его для работы в Access 2016. Может быть, вы умнее меня?
LockWindowUpdate FindWindow("wndclass_desked_gsk", Application.VBE.MainWindow.Caption)
я как-то потерял декларацию за LockWindowUpdate
, но я уверен, что вы можете найти его. Я, вероятно, украл его у Чипа Пирсона или что-то в этом роде.
_refreshed & saved_ - вам это действительно нужно? У меня никогда не было или не было такой потребности. – Gustav
@Gustav Lucky you. У вас должны быть клиенты, которые на самом деле понимают, как должна использоваться база данных, или у вас уже есть достаточно денег, которые вы можете себе позволить сказать им, что их предпочтительный инструмент не предназначен для такого приложения. Когда-нибудь я надеюсь быть на вашем месте. – CWilson
Извините, ни один из этих сценариев не верен. Я серьезно верю, что вы двигаетесь по неправильному пути. – Gustav