I have a simple access 2010 database and when it opens some code runs which hides everything in access apart from a form. This looks great for the user but I believe that this code is preventing me from being able to later display Reports in acViewPreview view. I confess that I do not fully understand the code that hides everything on the form On Load event (I copied it years ago and it worked but I cannot recall from where so cannot credit the actual creator) but I have posted the code below.
If I prevent the On Load code from running then I am able to view reports in acViewPreview view but the rest of access is visible. The code the hides access is as follows:
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
Could anyone please help me to either be able to temporarily reverse/disable the On Load code but only when a Report is run or perhaps suggest an alternative way of viewing the Report that would work whilst access is hidden by the On Load code?