I am trying to Hide or Show the Access Window by using two buttons on a Form. Running Access 2013 in Windows 7 64bit.
I have used code from the Internet as below but added the PtrSafe item to the Function Declaration as below:-
Option Compare Database
'Hide Access desktop screen and float Forms on pc desktop
Private Declare PtrSafe Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Dim dwReturn As Long
Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Private Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Function fSetAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
'Controls wheter or not the Access Desktop Screen is visible
'In Form Code use Call fSetAccessWindow("Minimize", False, False)
If Procedure = "Hide" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = "Show" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = "Minimize" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
If IsWindowVisible(hWndAccessApp) = 1 Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
Else
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
End If
If StatusCheck = True Then
If IsWindowVisible(hWndAccessApp) = 0 Then
fSetAccessWindow = False
End If
If IsWindowVisible(hWndAccessApp) = 1 Then
fSetAccessWindow = True
End If
End If
End Function
I then have two buttons on a form coded as below:-
Option Compare Database
Private Sub cmd_Hide_dbw_Click()
Call fSetAccessWindow("Minimize", False, False)
DoCmd.OpenForm "frm_Test", acNormal
End Sub
Private Sub cmd_Show_dbw_Click()
Call fSetAccessWindow("Show", False, False)
DoCmd.OpenForm "frm_Test", acNormal
End Sub
I have attached a Test Database which demonstrates the problem I am experiencing.
Do the following sequence...............
Open the Test Database. DO NOT ENABLE CONTENT
The Access 'Ribbon'Test_Database.accdb is active and usable
Open frm_Test in Design View in order to inspect, all should be as shown above.
Now click the Enable Content warning
Switch frm_Test to Form View
Click button Hide dbw. Closes the Access Window
Click button Show dbw. Opens the Access Window...HOWEVER....
Attachment 20252The Access Ribbon is locked and usable !!!
I cannot find a way to re-activate the Ribbon
Any help greatly appreciated.
jcc285