Boa tarde pessoal, tudo tranquilo!
To aqui quebrando a cabeça tentando achar um código que funcione pra esconder a janela do access e me deparei com esse aqui, que está no tópico http://maximoaccess.forumeiros.com/t5410-ocultar-janela-do-access-hide-the-acces-window?highlight=esconder+access
"
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. "
Até que funcionou legal, consegui ocultar a aplicação, criei um formulário com dois botões para abrir outros dois formulários que uso para abrir/filtrar dois relatórios. Os formulários aparecem, mas quando eu mando abrir o relatório não aparece nada, e os formulários ficam travados, como se houvesse alguma janela aberta (que eu acredito que seja o formulário), mas não aparece nada.
Qual configuração devo fazer no relatório para ele aparecer? Mudei a opção de aberturapara "acViewNormal" e ele imprimiu o relatório. Com qualquer outra ele fica travado sem aparecer nada.
To aqui quebrando a cabeça tentando achar um código que funcione pra esconder a janela do access e me deparei com esse aqui, que está no tópico http://maximoaccess.forumeiros.com/t5410-ocultar-janela-do-access-hide-the-acces-window?highlight=esconder+access
"
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. "
Até que funcionou legal, consegui ocultar a aplicação, criei um formulário com dois botões para abrir outros dois formulários que uso para abrir/filtrar dois relatórios. Os formulários aparecem, mas quando eu mando abrir o relatório não aparece nada, e os formulários ficam travados, como se houvesse alguma janela aberta (que eu acredito que seja o formulário), mas não aparece nada.
Qual configuração devo fazer no relatório para ele aparecer? Mudei a opção de aberturapara "acViewNormal" e ele imprimiu o relatório. Com qualquer outra ele fica travado sem aparecer nada.