Jump to content
Fórum Script Brasil
  • 0

Abrir form sem mostrar o ACCESS


Williamdp

Question

Olá, gostaria de saber se há uma forma de abrir um formulario sem que o ACCESS seja aberto, do mesmo jeito que fazemos no VBA-EXCEL.

No Excel fazemos desta forma:

Private Sub Workbook_Open() 'Coloco este código direto no código da pasta de trabalho

With Application

.ScreenUpdating = True 'Permite alterar a planilha

.Visible = False 'Mantém a planilha invisivel

End With

With Application

frmSenha.Show 'É necessário indicar o form a ser aberto, caso contrário você não consegue visualizar nada.

End With

End Sub

Alguém sabe como fazer isto no Access?

Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

bom, infelizmente o form é um objeto do access.. não há como abrir sem o access rodando..

em referencia a personalizar o ambiente do access.. você tem as opcoes:

ocultar a janela banco de dados

ocultar menus padrão

usar menus personalizados

ocultar o uso do click direito do mouse

fazer uso de ribbons e alterar botoes, menus, aparencia do access 2007

Link to post
Share on other sites
  • 0

Fera tente essa opção, quando você criar o atalho da sua aplicação access na area de trabalho ou outro lugar qualquer, clique com o botao direito do mouse, va em propriedades... na opção "destino" no final da linha depois do "c:\xxx.mdb", você coloca ( /runtime) ficando então, "C:\xxx.mdb" /runtime .... PS: as aspas tem que permanecer exatamente como estão adicionando o /runtime apos ela... e na opção "executar" você escolhe "minimizado"... aplicar e testar... :)

Link to post
Share on other sites
  • 0

Davidctba, bom dia!!!

Sua dica funcionou, muito obrigado!!!

Porem acabei me deparando com um problema que talvez vocês possam me ajudar.

Criei um formulário apenas com alguns botões que chamam outros bancos de dados através de hiperlinks (todos configurados com o /runtime), porem quando abro qualquer um dos BD através do atalho, o runtime funciona, já pelo hyperlink não.

Alguém saberia me dizer como fazer para o /runtime funcionar através do hiperlink????

Criei tb hyperlink através do Excel e PPT e tb não funcionou.

Obrigado!

Link to post
Share on other sites
  • 0
Em 28/01/2011 at 18:10, davidctba disse:

Fera tente essa opção, quando você criar o atalho da sua aplicação access na area de trabalho ou outro lugar qualquer, clique com o botao direito do mouse, va em propriedades... na opção "destino" no final da linha depois do "c:\xxx.mdb", você coloca ( /runtime) ficando então, "C:\xxx.mdb" /runtime .... PS: as aspas tem que permanecer exatamente como estão adicionando o /runtime apos ela... e na opção "executar" você escolhe "minimizado"... aplicar e testar... :)

 

 

meu amigo, consegui aqui , mais o ícone do access na barra de tarefa continua

Sem título.png

Link to post
Share on other sites
  • 0

Amigo voce poderia resolver isso de duas formas.

 

1° Utilizando Ribbon, ai voce define o que ira aparecer no topo do formulario via XML

2° Criando um modulo com o Código abaixo

 

Option Compare Database
Option Explicit

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

'Constantes
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2

Function AccessTransparente(Nivel As Integer)

Dim lngHwnd As Long
If Nivel < 0 Or Nivel > 250 Then Exit Function
lngHwnd = Application.hWndAccessApp
SetWindowLong lngHwnd, GWL_EXSTYLE, GetWindowLong(lngHwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes lngHwnd, 0, Nivel, LWA_ALPHA
End Function
'
'Ejemplo de uso:
'Private Sub Form_Load()
'Call AccessTransparente(175)
'End Sub

 

Depois é necessário que você crie a função Call AccessTransparente(0) no formulario "Ao Carregar / On Load"

E definir o nível de transparência do formulário

Existe também esse Modulo abaixo para esconder tudo e deixar somente o formulário aberto.

Você tem que definir o formulário como Pop-up e fixo.

Toma cuidado na hora de usar os módulos, por que se você mudar algo errado, o sistema não abre mais e fica só o MSACCESS.exe no Gerenciador de tarefas, o resto fica oculto. Faça backup antes de testar.

Eu particularmente uso Ribbons e XML, não deixo só o formulário, eu uso menus em cima também.

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

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148692
    • Total Posts
      644524
×
×
  • Create New...