Boa tarde. colquei este código na minha base de dados para ocultar as janelas Funciona na parte dos formulários mas quando tento abrir um relatório não consigo. Alguem me pode ajudar
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
Public 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
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
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
End If
fSetAccessWindow = (loX <> 0)
End Function
Na propriedades do seu formulario principal, (o que abre em 1º lugar), escreva 1 no intervalo do cronometro, depois pressione os 3 pontinhos do Cronometro, para entrar no VBA desse evento, e cole apenas o que está a azul.
Private Sub Form_Timer()
On Error Resume Next
Call fSetAccessWindow(SW_HIDE)
If Err.Number = 0 Then
Me.TimerInterval = 0
End If
End Sub
Nas propriedades de todos os formularios e relatorios, guia Outros, tem de colocar Popup=Sim e Janela Restrita=Sim.
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
Public 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
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
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
End If
fSetAccessWindow = (loX <> 0)
End Function
Na propriedades do seu formulario principal, (o que abre em 1º lugar), escreva 1 no intervalo do cronometro, depois pressione os 3 pontinhos do Cronometro, para entrar no VBA desse evento, e cole apenas o que está a azul.
Private Sub Form_Timer()
On Error Resume Next
Call fSetAccessWindow(SW_HIDE)
If Err.Number = 0 Then
Me.TimerInterval = 0
End If
End Sub
Nas propriedades de todos os formularios e relatorios, guia Outros, tem de colocar Popup=Sim e Janela Restrita=Sim.