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]Script que desabilita os Botões conforme Usuário Logado

    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 23/10/2016, 22:10

    Boa tarde companheiros,

    Por favor me ajudem numa função que estou apanhando aqui... É o seguinte,

    Tenho esse código que desabilita os botões do form Usuários ao entrar. Se logar com Administrador ele Habilita os botões e campos. Caso contrário, desabilita. Isso está funcionando...

    O que estou tentando fazer é, que ao entrar com usuário Administrador, mostra "Acesso liberado! numa Label no form Usuários. Caso contrário, mostre a mensagem "Acesso só com Senha Administrador".

    Segue script que encontrei aqui no fórum...

    No Ao Abrir do Form Usuários:

    Me.cmdSalvar.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdNovo.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPróximo.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPrimeiro.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Login.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.NomeUsuario.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Senha.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Nivel.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")

    Usei assim também e não foi:

    Private Sub Form_Current()
    If Me.txtUsuários.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')") Then
    Me.lblMenssagem.Caption = "Acesso Liberado!"
    ElseIf Me.txtUsuários.Visible = Eval("getUsuarioAtual() in('Usuário')") Then
    Else
    Me.lblMenssagem.Caption = "Acesso com Senha Administrador!"
    End If

    End Sub

    Desde já agradeço imensamente a cada um que tem me ajudado...
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  Silvio 24/10/2016, 12:00

    Bom dia...
    Vamos pensar numa coisa mais simples e pratica.

    No teu formulário principal...

    Uma caixa de texto ( depois ela vai e tem que ficar oculta, se der certo isso ok ? ) que vai receber quem está logado certo ? Pelo que eu vi no teu código ela deve receber o valor ( texto ) que vem da caixa de texto que receber esse valor "getUsuarioAtual().

    Pois bem,

    if me.caixadetextoquerecebegetUsuarioAtual()= "adminstrador" then
    Me.lblMenssagem.Caption = "Acesso Liberado!"
    Else me.caixadetextoquerecebegetUsuarioAtual()<>"administrador" then
    Me.lblMenssagem.Caption = "Acesso com Senha Administrador!"
    End If


    Obs.: não testei.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 24/10/2016, 17:26

    Boa tarde,

    tente colocar o código que o amigo Silvio passou no evento Ao Abrir do fomulário.

    Abraço.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 24/10/2016, 20:32

    Boa tarde,

    No Ao Abrir do Formulário estou usando assim:

    Me.cmdSalvar.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdNovo.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPróximo.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPrimeiro.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Login.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.NomeUsuario.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Senha.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Nivel.Visible = Eval("getUsuarioAtual() in('Administrador','Manutenção')")

    '------------------------------------------------------------------
    If Me.txtUsuarios = "Administrador" Then
    Me.lblMensagem.Caption = "Acesso Liberado!"
    ElseIf Me.txtUsuarios = "Usuário" Then
    Me.lblMensagem.Caption = "Acesso com senha Administrador"
    Exit Sub
    End If
    '---------------------------------------------------------------------

    O Primeiro bloco funciona normal, quando entro com Usuário "Administrador" ou "Manutenção", os botões entram habilitados ou se for com Usuário "Usuário", entra com os botões bloqueados.

    Mesmo usando o código como o companheiro Silvio passou, ao clicar no botão cmdCadUsauário no form principal para Abrir o frmUsuário da erro de compilação...

    O que pretendo é que ao clicar no botão e entrar no form de Cadastro de Usuário, reconheça qual Usuário está logado. O que já faz pelo "txt.Usuários. E mostre uma mensagem, se o usuário logado tem ou não permissão para cadastrar outros usuários.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty RE: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 25/10/2016, 10:38

    Bom dia,

    Tente o seguinte:

    Código:
    If Eval("getUsuarioAtual() in('Administrador','Manutenção')") = True Then
        lblMensagem.Caption = "Acesso Liberado!"
    Else
        lblMensagem.Caption = "Acesso com senha de administrador!"
        
        'Colocar aqui o que fazer caso o acesso seja negado.

    End if

    Ps.: Recomendo que os bloqueios sejam feitas em nível de usuário, e não em usuários específicos, isto é, crie "grupos" de usuários e bloqueie os grupos. Facilita bastante.


    -------------------------------------------------------------------------------------------------------------------------------------

    Uma dica também que pode te ajudar em caso de manutenção e ganho de desempenho tanto nesse procedimento quanto em outros no futuro é armazenas o valor da expressão Eval("getUsuarioAtual() in('Administrador','Manutenção')") em uma variável e usar esta variável para comparações. Segue exemplo:

    Código:
    Dim booVisivel As Boolean

    booVisivel = Eval("getUsuarioAtual() in('Administrador','Manutenção')")

    Me.cmdSalvar.Visible = booVisivel
    Me.cmdNovo.Visible = booVisivel
    Me.cmdExcluir.Visible = booVisivel

    Abraço.


    Última edição por CassioFabre em 25/10/2016, 11:51, editado 1 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  Silvio 25/10/2016, 10:47

    Bom dia...

    cjs...que tipo de erro aparece ?


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 25/10/2016, 12:23

    Bom dia Cássio, Aceito suas dicas. Estou sempre aberto a aprender. Creio ser uma das virtudes mais importantes de um ser humano é a aprendizagem. E agradeço imensamente sua ajuda...

    Grande Sílvio, o erro que dá é erro de copilação ao entrar no form. É como se não estivesse aceitando o If...

    If Me.txtUsuarios = "Administrador" Then
    Me.lblMensagem.Caption = "Acesso Liberado!"
    ElseIf Me.txtUsuarios = "Usuário" Then
    Me.lblMensagem.Caption = "Acesso com senha Administrador"
    Exit Sub
    End If

    Na realidade era pra ser simples... Tenho um botão no form principal que ao clicar abre o form de Cadastro de Usuários. Ok! Só gostaria que só quem tivesse acesso ao cadastro de usuário ou mesmo que abra o form seja o Administrador. Para evitar que desavisados funcem no cadastro.

    Essa função está funcionando.

    Me.cmdSalvar.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdNovo.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPróximo.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdPrimeiro.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.cmdExcluir.Visible = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Login.Block = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.NomeUsuario.Block = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Senha.Block = eval("getUsuarioAtual() in('Administrador','Manutenção')")
    Me.Nivel.Block = eval("getUsuarioAtual() in('Administrador','Manutenção')")

    Quando clico no botão, ele abre o form de cadastro com os botões  e os campos travados... Só a mensagem no roda-pé que não estou conseguindo... E a mensagem precisar ser também de acordo com o usuário logado... Como alerta se libera ou não... No Excel faço isso brincando... Mais no Access como estou aprendendo estou apanhando...
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty RE: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 25/10/2016, 12:51

    Bom dia amigo,

    Isso não deu certo no evento Ao Abrir?

    Código:
    If Eval("getUsuarioAtual() in('Administrador','Manutenção')") = True Then
        lblMensagem.Caption = "Acesso Liberado!"
    Else
        lblMensagem.Caption = "Acesso com senha de administrador!"
    End if

    Abraço.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 25/10/2016, 13:17

    Digitei no Ao Abrir mais da erro de compilação em módulo oculto: frmUsuários.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  Silvio 25/10/2016, 13:27

    Bom dia...

    Talvez utilizando um DLookup fica mais fácil para fazer a verificação. Lembrando que é apenas uma ideia e não testada.

    algo mais ou menos assim,

    Dim x

    x= DLookup( "usuario";"Tabelausuarios"; usuario = Forms!Frmprincipal!caixatextousuario")

    if x = "administrador" then

    bla...
    bla...
    bla..

    else
    bla..
    bla..
    bla..

    end if


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty RE: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 25/10/2016, 13:33

    Bom dia,

    Erro de compilação em qual linha?

    --------------------

    No caso da solução do Sílvio, também é viável. Mas talvez a forma mais correta para fins de desempenho e evitar idas desnecessárias à tabela, fosse melhor escrever:

    Código:
    If getUsuarioAtual = "Administradores" Then
        bla....
    Else
        blabal...
    End if

    Abraço.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  Silvio 25/10/2016, 13:42

    Cássio, também concordo com o que escreveu !!

    Mas seria bom se o CJSilva, postasse ao menos a tabela e formulário envolvidos.

    Estamos muito dentro do campo da especulação, coisa que eu não sou muito amigo.

    Então se CJSilva, puder disponibilizar, ficaremos agradecidos.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 25/10/2016, 16:04

    Companheiros, conforme solicitado segue BD para analise.

    Desde já agradeço o apoio de todos vocês...

    Obrigado mesmo...
    Anexos
    [Resolvido]Script que desabilita os Botões conforme Usuário Logado AttachmentBase_teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (75 Kb) Baixado 21 vez(es)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty RE: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 25/10/2016, 16:14

    Boa tarde,

    Como eu disse em tópicos acima, basta implementar o trecho abaixo no evento Ao Abrir do frmUsuários.

    Código:
    If Eval("getusuarioatual() in('Administrador','Manutenção')") = True Then
        Me.lblMensagem.Caption = "Acesso Liberado!"
    Else
        Me.lblMensagem.Caption = "Acesso com senha Administrador!"
    End If

    Segue exemplo abaixo.
    Anexos
    [Resolvido]Script que desabilita os Botões conforme Usuário Logado AttachmentAplicação_Teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (64 Kb) Baixado 40 vez(es)
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Script que desabilita os Botões conforme Usuário Logado

    Mensagem  cjsilva2013 25/10/2016, 16:41

    Resolvida a questão...

    Obrigado, Cassio, pela sua imensa ajuda... O Senhor te abençoe junto a sua casa de forma grandiosa....

    Aos companheiros, Silvio, Welley2000, grande Nobezinho, Muito obrigado pela gentileza em nos ajudar... A toda Equipe MaximoAccess, vocês são e estão se tornando cada vez mais o melhor Fórum em programação Access... PARABÉNS A TODOS!

    Abraços,
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty RE: Script que desabilita os Botões conforme Usuário Logado

    Mensagem  CassioFabre 25/10/2016, 16:53

    Boa tarde,

    O fórum agradece o retorno.

    Abraço.

    Conteúdo patrocinado


    [Resolvido]Script que desabilita os Botões conforme Usuário Logado Empty Re: [Resolvido]Script que desabilita os Botões conforme Usuário Logado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 21:30