Как отобразить отчет MS Access 2010 в представлении ac.preview, если остальная часть экрана MS Access была скрыта? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть простая база данных Access 2010, и когда она открывается, запускается некоторый код, который скрывает все в доступе, кроме формы.Это выглядит великолепно для пользователя, но я считаю, что этот код не позволяет мне впоследствии отображать отчеты в представлении acViewPreview.Признаюсь, я не до конца понимаю код, который скрывает все в форме «При загрузке» (я скопировал это несколько лет назад, и это сработало, но я не могу вспомнить, откуда я не могу поверить фактическому создателю), но я разместил код ниже.

Если я запрещаю запуск кода при загрузке, я могу просматривать отчеты в представлении acViewPreview, но остальная часть доступа видна.Код, к которому скрывается доступ, выглядит следующим образом:

Private Sub Form_Load()
Call fSetAccessWindow(0)
End Sub

Option Compare Database
Option Explicit

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3

Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)

Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm

If Err <> 0 Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If

If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function

Может ли кто-нибудь помочь мне временно или полностью отключить код загрузки при загрузке, но только при запуске отчета или предложить альтернативный способпросмотр отчета, который будет работать, пока доступ скрыт кодом загрузки?

1 Ответ

0 голосов
/ 29 апреля 2019

Закомментируйте строку кода (одинарную кавычку), чтобы предотвратить вызов функции:

Private Sub Form_Load()
    ' Call fSetAccessWindow(0)
End Sub

или вызвать ее, чтобы "показать окно в обычном режиме":

Private Sub Form_Load()
    Call fSetAccessWindow(1)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...