MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


3 participantes

    [Resolvido]Como tornar um formulário numa espécie de executavél?

    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 00:09

    Boas pessoal eu vi recentemente um projecto em access aqui no fórum e adorava que me explicassem como funciona. Quando abro o access aparece somente um formulário isto e toda a área visual do access é como se estivesse minimizada e não temos abcesso a nada é demais fica como se fosse um executável! Sei que leva vba nas costas, isto é um pequeno módulo que atribui funções!
    Eu queria aplicar isso no meu sistema de login isto é por exemplo se eu entrasse com o username administrador abria-me o painel de controlo e mostrava-me a área de trabalho de access, se entrasse como outro username abria o painel de controlo mas não me aparecia a área de trabalho do access, ficava como executável!
    Agradeço toda a ajuda desde já pessoal

    Abraço para todos
    Very Happy
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  vieirasoft 25/2/2011, 00:18

    Boa Noite

    Procure aqui no fórum tornar Access Transparente no Repositório de exemplos
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 09:01

    Olá JoãoCosta, bom dia!

    Não sei qual o módulo que tem a mão, mas, se for igual ao que tenho aqui chamado api ventana transparente, vou de forma resumida explicar:

    O efeito de transparência funciona numa escala de 0 a 250, ou seja, 0 é a tranasparência total e 250 é a visibilidade total do objeto.

    O modo de uso no VBA está da seguinte forma:

    Call AccessTransparente(250)

    Call porque chama a função no módulo e 250 porque não se quer deixar invisivel. Sendo assim posso escolher o nível que quiser de tonalidade entre 0 e 250.

    Para fazer o que pretende caberia o uso de uma condição IF, no evento ao abrir do formulário, assim:

    If SeuLogin = "Administrador" then
    Call AccessTransparente(250) 'Percebe o usuário Administrador, então visibilidade total.
    Else
    Call AccessTransparente(0) 'Percebe que o usuário não é o Administrador, então invisibilidade total.
    End If



    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 09:33

    Olá Dilson bom dia! Dei uma olhadela naquilo que você me disse e não está a dar certo está a ir para o depurador! O exemplo que eu tenho não funciona assim funciona assim.

    Global Const SW_HIDE = 0
    Global Const SW_SHOWNORMAL = 1
    Global Const SW_SHOWMINIMIZED = 2
    Global Const SW_SHOWMAXIMIZED = 3

    Mas eu não compreendo a sua maneira funciona bem mais facil e serve para aquilo que eu queria fazer!

    Obrigado pela a sua ajuda e bastante perciosa!

    Será que me poderia mandar o exemplo que voçe tem colega?

    Very Happy

    Abraço
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 09:38

    Diga-me se possível, qual o nome do módulo que contém essas instruções que escreveu ou qual o nome do exemplo que estás a usar no seu estudo?
    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 09:41

    O módulo chama-se ocultarjanela e este projecto foi postado no fórum por um colega nosso. Mas e bem diferente daquilo que você me explicou, a sua forma é bem mais facil.

    Aqui vai a programação do modulo:

    Option Compare Database
    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 'no Activeform
    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


    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 09:50

    Substitua: Call AccessTransparente(250) por:

    Call fSetAccessWindow(SW_SHOWNORMAL)

    e Call AccessTransparente(0) por:

    Call fSetAccessWindow(SW_HIDE)
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 09:59

    Abaixo o módulo que usei e que você deduziu ser mais fácil, cole em um módulo novo, dê o nome que desejar e utilize a forma de uso de 0 a 250 como expliquei:


    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, byronlcl@gmail.com
    '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
    '
    'Ejemplo de uso:
    'Private Sub Form_Load()
    'Call AccessTransparente(175)
    'End Sub
    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 10:22

    Vou testar amigo! Obrigado voce é expetacular Very Happy
    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 10:35

    Está a funcionar as mil maravilhas amigo so tenho um pequeno porblema e que quando digo que Call AccessTransparente(0) e clico num botao para chamar um formulario ele fica como se fosse minimizado e não tenho acesso! :/
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 11:48

    Seus formulários deverão estar com a propriedade Pop-up selecionada como Sim. Acredito que este formulário que você chamou deve estar com a propriedade pop-up igual a Não

    Abra o formulário em modo estrutura, no canto superior esquerdo dê dois cliques, aparecerá as propriedades, vá na aba chamada Outra e procure por Pop-up, encontrando verá que por padrão ela vem como Não, selecione para Sim e salve. Abra a aplicação e teste.
    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 11:59

    É verdade colega, voçe tem razão, já pus como janela pop up e dá, mas em contra partida a janela não fica em fullscreen colega!
    Agradeço desde já toda a sua ajuda amigo
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Dilson 25/2/2011, 12:15

    Conforme o resultado de [RESOLVIDO] Como meter um formulario janela pop up em full screen? Passo esse aqui também a resolvido.

    Disponha sempre!
    JoãoCosta
    JoãoCosta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 14/02/2011

    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  JoãoCosta 25/2/2011, 13:37

    Obrigado amigo Smile

    Conteúdo patrocinado


    [Resolvido]Como tornar um formulário numa espécie de executavél? Empty Re: [Resolvido]Como tornar um formulário numa espécie de executavél?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 04:14