MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Compartilhe

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 7/6/2018, 15:20

    Bom dia a todos.

    Fazendo um pesquisa dentro do fórum descobrir um código que resolveria meu problema, de oculta a tela do access ao iniciar meu sistema.

    código usado


    Créditos: [Você precisa estar registrado e conectado para ver este link.]
    ' Tópico: Access Enviroment
    ' Hide The Access Window
    ' faq705-2562
    ' Posted: 10 Oct 02 (Edited 27 Sep 06)

    Passo 1. Copie o código que está após o passo 5 em um módulo. Nomei-o como basAccessHider , os nomes são apenas exemplos para facilitar, use o que achar melhor.

    Passo 2. Crie uma macro e chame-a de mcrHide .Na linha de ação da macro "RunCode" ou "ExecutarCódigo" coloque o seguinte na caixa de função ou Function Box:

    fAccessWindow ("Minimize", False, False)

    Passo 3. Crie outra macro e chame-a de mcrRestore .Na linha de ação da macro coloque o seguinte na caixa de função:

    fAccessWindow ("Show", False, False)

    Passo 4. No evento Ao Abrir do seu formulário de inicialização que deverá ter sua propriedade PopUp como sim (se você não tiver um formulário de inicialização, basta usar o primeiro formulário que você abre quando executa o banco de dados, desde que tenha a propriedade PopUp como sim), coloque o seguinte código:

    DoCmd.RunMacro "mcrHide"

    Passo 5. No evento Ao Fechar do seu formulário de inicialização, coloque o seguinte código:

    DoCmd.RunMacro "mcrRestore"

    CÓDIGO DO PASSO 1

    Private Declare 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 Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
    ByVal nCmdShow As Long) As Long

    Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
    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
    fAccessWindow = False
    End If
    If IsWindowVisible(hWndAccessApp) = 1 Then
    fAccessWindow = True
    End If
    End If
    End Function

    Tenho certeza que quem implementar vai curtir.... =)

    porem quando usei o código deu certo, mais quando utilizo o botão sair ta tela de login ele da um erro na magro de fechar a tela.

    alguém poderia me ajuda
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 7/6/2018, 17:59

    Crie um modolo com o seguinte nome: Api Ventana transparente e cole o que está abaixo

    Option Compare Database
    Option Explicit
    'Autor de la función base: Indeterminado
    'Declaraciones
    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)
    'Adaptación: Byron Contreras, febrero 08, [Você precisa estar registrado e conectado para ver este link.]
    'Objetivo: Ajustar el nivel de transparencia de la ventana principal
    ' de access. El nivel de transparencia debe estar entre 0 a 250
    '.............................................................................
    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



    No primeiro formulário a ser carregado, chame a seguinte função:

    Private Sub Form_Load()
    Call AccessTransparente(0)
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 7/6/2018, 20:50

    Boa tarde!

    esse comando que me passou ele seria para substituir o primeiro que passei?
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 8/6/2018, 00:14

    Olá, boa noite.

    Sim, isso mesmo !!


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 8/6/2018, 00:14

    Olá, boa noite.

    Sim, isso mesmo !!


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1049
    Registrado : 18/07/2012

    Oculta Janela do Access ao Iniciar Sistema

    Mensagem  toyebom em 8/6/2018, 01:20

    Ve este meu exemplo pode ser que gostes.

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 8/6/2018, 21:38

    Boa tarde!

    Silvio, seu exemplo funcionar, mais não abre a minha tela posterior.

    Estou usando esse comando em um formulário de login, e depois quero abri a minha tela principal. E com teu código não conseguir abrir o formulário principal depois que faço o login.

    teria como?
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 9/6/2018, 16:14

    Bom dia !

    Então,poste o comando que está no teu formulário de login, provavelmente......você "comeu bronha" no código.
    O fato dele estar transparente, em nada interfere nos códigos que estão no teu formulário de login !

    Abaixo segue um "pedaço" do código que utilizo, usando a tela transparente.

    If Not IsNull(Me.senha) Then
    Me![senha] = UCase$([senha])
    If Me.senha = DLookup("[SENHA]", "USUARIOS", "[USER] = '" & Me.USER & "'") Then
    Me.DATAIN = Now()
    Me.HORAIN = Time()
    Me.FALHOU = False
    Me.Refresh
    DoCmd.Minimize


    DoCmd.OpenForm "FrmAvisoVisita", , , stLinkCriteria
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "CONS_DTA"
    DoCmd.SetWarnings True


    Note que em vermelho e se a senha estiver correta, ele abre o formulário que preciso, no teu caso o formulário principal.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 9/6/2018, 20:29

    Boa tarde

    If IsNull(cbxLogin) Then
    MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
    cbxLogin.SetFocus
    ElseIf IsNull(txtSenha) Then
    MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
    txtSenha.SetFocus
    ElseIf verificaLogin(cbxLogin, txtSenha) Then
    DoCmd.Close
    'DoCmd.OpenForm "FRM_MOV_BarraProgresso_Bolas"
    DoCmd.OpenForm "FRM_Tela_Principal"
    'MsgBox "Dando certo!"
    Else
    MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
    txtSenha.SetFocus
    End If

    Utilizo esse comando no meu login, ao clica no botao entra ele verifica codigo e abre a minha tela principal (FRM_Tela_Principal).
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 10/6/2018, 22:14

    Boa noite...

    Não sei de onde pegou o código...mas tem algo errado nele...preste atenção a lógica do mesmo.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 11/6/2018, 13:00

    Bom dia!

    O código ele faz verificação de acesso do usuário o nível de autorização do mesmo, A questão é que com seu código ele não funcionar, sem o seu código ele funcionar perfeitamente.
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3973
    Registrado : 20/04/2011

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Silvio em 11/6/2018, 13:02

    Zipa o que tens no teu formulário e coloca ele aqui.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 248
    Registrado : 01/12/2016

    Re: [Resolvido]Oculta Janela do Access ao Iniciar Sistema

    Mensagem  Misson Lira em 11/6/2018, 13:15

    OK! Segue o arquivo.

    usuario e senha

    admin

    12345
    Anexos
    Ajuda com Oculta Janela.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (102 Kb) Baixado 10 vez(es)

      Data/hora atual: 16/8/2018, 07:34