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


4 participantes

    [Resolvido]Case - Compara Usuario

    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 05:46

    Olá, - Ve se vcs tem alguma solução para isso , tenho declarado este LOGIN no modulo - para o projeto todo

    Public LOGIN As LOGIN
    Type LOGIN
    id As Long
    Administrador As Boolean
    usuario As String * 50
    End Type


    Preciso de uma verificação de usuario para definir se o botão fica ou não visivel para ele....
    estou usando assim e retorna Falso. Não esta funcionando , Não reconhece o usuario para ocultar ou não o botão -btn

    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    Select Case control.id
    Case "Btn07"
    If LOGIN.usuario = "Paulo" Then
    visible = True
    Else
    visible = False
    End If

    End Select
    End Sub


    Tenho este outro procedimento que armazena os dados de LOGIN na entrada do sistema:

    If strSenha1 = strsenha2 Then
    'repassa a identificação do usuário para a variável login
    LOGIN.id = .Column(0) 'IdUsuário
    LOGIN.usuario = .Column(1) 'Nome do usuário
    LOGIN.Administrador = .Column(3) 'Usuário Administrador
    'esconde o formulário login
    Me.visible = False
    ... Abre form principal


    Porem;
    * Não estou conseguindo um valor Verdadeiro, ou seja meu procedimento If não esta recebendo o usuario
    Como posso corrigir isso e meu procedimento case -> btn , Funcionar ?

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

    Só para constar......
    Este outro aqui ============== Funciona

    Case "BtbAdm"
    If LOGIN.Administrador = True Then
    visible = True
    MsgBox "TESTE DE ADM SIM" ' Teste--------------------> essa mensagem aparece quando Administrador esta logado OK...
    MsgBox LOGIN.usuario = "Administrador" --> Retorna falso essa mensagem
    Else
    visible = False
    End If



    Desde já Agradeço.


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 15:40

    Amigo, tem certeza que nesse campo (control.id) Existe mesmo o Valor (Btn007)? Pois é esse o caso que está passando!

    O Correto não seria variável LOGIN.Usuario      ????

    Explicando a seleçao de casos...

    Select Case control.id 'Aqui ele irá fazer uma analise nos valores desse campo Control.id para daee fazer a seleção de caso a baixo:
    Case "Btn07"   'Se, na variavel a cima estiver o Valor "Btn07" ele passa para o IF...
    If LOGIN.usuario = "Paulo" Then
    visible = True
    Else
    visible = False
    End If
    End Select
    End Sub


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 16:59

    eu teria que trocar login.id por = LOGIN.Usuario

    Pois não entendo por que esse case passa certinho ->

    Case "BtbAdm"
    If LOGIN.Administrador = True Then
    visible = True
    Else
    visible = False
    End If

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

    ja tentei

    If LOGIN.Paulo = True Then

    e não passa, pede para declarar Paulo junto com Administrador e usuario - no LOGIN


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 17:08

    pede para declarar Paulo junto com Administrador e usuario - no LOGIN
    Sim... Paulo não e uma variavel...

    Me diga o que pretende que tento ajustar...

    Ex: Quero que se o Usuario for JOSE ele habilite o Botãoxxx


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 17:11

    Public nlogoff As Boolean

    Public LOGIN As LOGIN
    Type LOGIN
       id  As Long
       Administrador As Boolean
       usuario As String * 50
    End Type



    '.................................................................................................................



    Public Modulos As Modulos
    Type Modulos
       UsuarioECF As Boolean
       UsuarioNFe As Boolean
       UsuarioCobranca As Boolean
    End Type


    '------------------------------------------------------------------------------------------

    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    On Error GoTo trataerro
    If nlogoff = False Then Exit Sub
    Select Case control.id
           
       Case "grCadastros"
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 1 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 2 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 3 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 4 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 5 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 6 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 7 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
           If j = 7 Then
               visible = False
           Else
               visible = True
           End If
                   
           j = 0
                   
       Case "btnNFe"
           If Modulos.UsuarioNFe = True Then
               visible = True
           Else
               visible = False
           End If

      Case "BtbAdm"
           If LOGIN.Administrador = True Then
               visible = True
           Else
               visible = False
           End If


    'esse não passa-----------------------------

    Case "Btn07"
           If LOGIN.usuario = "Paulo" Then
               visible = True
           Else
               visible = False
           End If

           
    '------------------------------------------


    Case Else
           If DLookup("bloqueada", "tblPermissõesUsuários", "idfuncao = " & CLng(IIf(control.Tag = "", 0, control.Tag)) & " AND IdUsuario = " & LOGIN.id) = -1 Then
               visible = False
           Else
               visible = True
           End If
    End Select
    sair:
       Exit Sub
    trataerro:
       MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", err.HelpFile, err.HelpContext
       Resume sair:
    End Sub


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 17:13

    Amigo, sem explicar o que pretende nao conseguirei te ajudar!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 17:15

    Preciso um procedimento que identifique o usuario logado e restrinja a visualização de alguns botões para ele.
    No caso , primeira tentativa de restrição é esse do caso, destacado em vermelho , na mensagem anterior - case que não esta passando.


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 17:19

    Exemplo;


    Case "Btn07"
          If LOGIN.usuario = "Paulo" Then
              visible = True  -> Se for o usuario Paulo que esta logado então Botão Btn07 sim aparece para ele !
          Else
              visible = False  -> caso não seja o Paulo então Botão Btn07 não aparece para ele - "outro usuario" !
          End If


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 17:27

    Então amigo, coloque apenas assim:

    If LOGIN.usuario = "Paulo" Then
    Me.btxxx.Visible = True
    Else
    Me.btxxx.Visible = False
    End If


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 17:30

    Dentro do select case .......


    Case "Btn07"
          If LOGIN.usuario = "Paulo" Then
              me.btn07.visible = True
          Else
              me.btn07.visible = False
          End If


    ------>   não deu certo -  ele escondeu assim tudo  -  todos os btn

    Inclusive agora se eu entrar como usuario Administrador não aparece nada para ele !


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 17:50

    Pra vc perceber -

    se eu insiro um retorno teste no procedimento .... e entro com o usuario Paulo ou Administrador

    Retorna falso

    MsgBox LOGIN.usuario = "Administrador" --> Retorna falso essa mensagem
    MsgBox LOGIN.usuario = "Paulo" --> Retorna falso essa mensagem


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

    Mas assim -> MsgBox LOGIN.usuario
    Retorna o nome do usuario logado, o que significa sim que a variavel esta carregada com o nome do usuario.

    porem acredito que não estou conseguindo é extrair isso da variavel ??


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 18:16

    Esta ai Me.   =>  Não foi válido para este procedimento !

    Dai eu tirei o Me => e tudo fica visivel - ele não esconde nada , não obedece ao procedimento If


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  Alexandre Fim 1/4/2017, 18:56

    Paulo Maia boa tarde,

    Vc esta informando na "fncGetVisible", que está dentro do módulo "mod_getRibbon", a palavra "Me".

    O uso do "Me" é utilizado dentro do form em q vc está usando.
    Ex.:
    Se vc estiver num form chamado "frmDados", ao invés de vc colocar frmDados.txtuser, vc utiliza o Me.txtuser.

    No caso da função, ela não entende quem é o "Me".

    Poste o seu database para verificarmos o seu funcionamento.
    Não precisa mandar com os dados, se vc julgar, sigilosos.

    Att,


    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 20:28

    Esta ai,  tive que excluir alguns módulos para ficar do tamanho aceitável para enviar aqui

    mas os principais em questão estão ai

    abra com SHIFT................


    Última edição por PauloMaia em 1/4/2017, 21:09, editado 1 vez(es)


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 20:46

    O arquivo que postou é inútil... veio apenas o formulário Login e uns módulos.
    A instrução que passei anteriormente era pra ser aplicada somente as linha que passei... Removendo todos os comandos que la estavam!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 21:11

    Desculpe-me FabioPaes

    Não compreendi ! Mas Obrigado pela tentativa de ajuda...............


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 21:21

    Veja.......

    Case "guiaFinRH", "guiaVendas", "guiaAdm"
       
    If LOGIN.usuario = "Paulo" Then
           
               Me.guiaFinRH.visible = True            
               Me.guiaVendas.visible = False
               Me.guiaAdm.visible = False
        Else
              Me.guiaFinRH.visible = False            
              Me.guiaVendas.visible = True
              Me.guiaAdm.visible = False
    End If

    Me.   =>  Não é aceito no procedimento !


    MODULO EM QUESTÃO

    Código:
    Option Compare Database

    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    On Error GoTo trataerro
    If nlogoff = False Then Exit Sub
    Select Case control.id

        Case "grCadastros"
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 1 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 2 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 3 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 4 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 5 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 6 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = 7 AND IdUsuario = " & LOGIN.id) = -1 Then j = j + 1
            If j = 7 Then
                visible = False
            Else
                visible = True
            End If
                    
            j = 0
                    
        Case "grNFE"
            If Modulos.UsuarioNFe = True Then
                visible = True
            Else
                visible = False
            End If
            
        Case "grECF"
            If Modulos.UsuarioECF = True Then
                visible = True
            Else
                visible = False
            End If
            
        Case "grCobranca"
            If Modulos.UsuarioCobranca = True Then
                visible = True
            Else
                visible = False
            End If
            

    '--------------------------Administrador-----------------------------> ESSA FUNCIONA E AS DE CIMA Tbm
            
        Case "guiaAdm"
            If LOGIN.Administrador = True Then
                visible = True
            Else
                visible = False
            End If
            
        Case "guiaVendas", "guiaFinRH"
            If LOGIN.Administrador = True Then
                visible = False
            Else
                visible = True
            End If
        
    '--------------------------FinanceiroRH-----------------------------> Essa Não funciona
              
       Case "guiaFinRH", "guiaVendas", "guiaAdm"
         If LOGIN.usuario = "Paulo" Then
            
               Me.guiaFinRH.visible = True
                
               Me.guiaVendas.visible = False
                Me.guiaAdm.visible = False
            Else
                Me.guiaFinRH.visible = False
                
                Me.guiaVendas.visible = True
                Me.guiaAdm.visible = True
            End If
            
        Case "guiaVendas", "guiaAdm"
            If LOGIN.usuario = "Paulo" Then
                    Me.guiaVendas.visible = False
                    Me.guiaAdm.visible = False
            Else
                    Me.guiaVendas.visible = True
                    Me.guiaAdm.visible = True
            End If
        
      
    '--------------------------Guia Vendas-----------------------------> Essa funciona OK
            
        Case "guiaVendas"
            visible = True
                  
                  
        Case Else
            If DLookup("bloqueada", "tblPermissõesUsuários", "idfuncao = " & CLng(IIf(control.Tag = "", 0, control.Tag)) & " AND IdUsuario = " & LOGIN.id) = -1 Then
                visible = False
            Else
                visible = True
            End If
    End Select
    sair:
        Exit Sub
    trataerro:
        MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", err.HelpFile, err.HelpContext
        Resume sair:
    End Sub

    Public Sub fncGetEnabled(control As IRibbonControl, ByRef enabled)
    'On Error GoTo trataerro
    'Select Case control.id
    '    Case "xxx"
            'Trata o botão que tem a id xxx
    '    Case Else
    '        enabled = False
    'End Select
    'sair:
    '    Exit Sub
    'trataerro:
    '    MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", err.HelpFile, err.HelpContext
    '    Resume sair:
    On erro GoTo trataerro

    If nlogoff = False Then Exit Sub

    Select Case control.Tag
        Case Else
            If DLookup("bloqueada", "tblpermissõesUsuários", "idfuncao = " & CLng(IIf(control.Tag = "", 0, control.Tag)) & " AND IdUsuario = " & LOGIN.id) = -1 Then
                enabled = False
                If control.Tag = 8 Then
                    AcessoEntradaProdutos = False
                End If
                If control.Tag = 9 Then
                    AcessoContasAPagar = False
                End If
                If control.Tag = 11 Then
                    AcessoSaidaProdutos = False
                End If
                If control.Tag = 12 Then
                    AcessoContasAReceber = False
                End If
            Else
                enabled = True
            End If
    End Select
    sair:
        Exit Sub
    trataerro:
        MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", err.HelpFile, err.HelpContext
        Resume sair:

    End Sub

    Public Sub fncGetImage(control As IRibbonControl, ByRef Image)
    On Error GoTo trataerro
    Dim caminho As String
    Dim strNomeImagem As String
    caminho = CurrentProject.Path & "\Global_Sys\Imagens\"
    Select Case control.id
        Case "IdDoBotão"
            'pode ser usado GIF, JPEG, PNG e ICO
            'A imagem deve constar na pasta imagens do seu projeto
            strNomeImagem = "NomeDaImagem.gif"
    End Select

    If InStr(strNomeImagem, ".png") > 0 Or InStr(strNomeImagem, ".ico") > 0 Then
        If Len(Dir(caminho & strNomeImagem)) = 0 Then
            MsgBox "Imagem " & strNomeImagem & " não encontrada no caminho indicado...", vbInformation, "Aviso"
            Exit Sub
        Else
            Set Image = LoadImage(caminho & strNomeImagem)
        End If
    Else
        Set Image = LoadPicture(caminho & strNomeImagem)
    End If

    sair:
        Exit Sub
    trataerro:
        Select Case err.Number
            Case 2220
                MsgBox "Imagem " & control.id & " não encontrada no caminho indicado...", vbInformation, "Aviso"
            Case Else
                MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", _
                err.HelpFile, err.HelpContext
        End Select
        Resume sair:
    End Sub

    Public Sub fncGetLabel(control As IRibbonControl, ByRef label)
    On Error GoTo trataerro
    Select Case control.id
        Case "NomeDoID"
            label = "Nome para a etiqueta"
        Case Else
            label = " "
    End Select
    sair:
        Exit Sub
    trataerro:
        Select Case err.Number
            Case 2220
                MsgBox "Etiqueta do botão " & control.id & " não encontrada no caminho indicado...", vbInformation, "Aviso"
            Case Else
                MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso", _
                err.HelpFile, err.HelpContext
        End Select
        Resume sair:
    End Sub


    Última edição por PauloMaia em 1/4/2017, 21:28, editado 1 vez(es)


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  Avelino Sampaio 1/4/2017, 21:27

    Olá!

    Acrescente as caixas de mensagens nas seguintes posições e rode o seu aplicativo

    Case "Btn07"
    msgbox LOGIN.usuario
    If LOGIN.usuario = "Paulo" Then
    msgbox "Usuario autorizado..."
    visible = True
    Else
    msgbox "Usuario não autorizado..."
    visible = False
    End If


    Quais as caixas de mensagem vc visualiza e e com que conteúdo ?

    Aguardamos
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 21:31

    PauloMaia Mantenha a calma e se atente para as instruções passada por nós, caso contrário não conseguiremos lhe ajudar!

    Siga a dica do Avelino e veja se retorna o valor esperado para cada msgbox.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 21:37

    Avelino Sampaio, Muito Obrigado

    Inseri assim no procedimento - fncGetVisible .......


    Case "guiaFinRH"
          MsgBox LOGIN.usuario
          If LOGIN.usuario = "Paulo" Then
              MsgBox "Usuario autorizado..."
              visible = True
          Else
              MsgBox "Usuario não autorizado..."
              visible = False
          End If


    ==}> 1º Apareceu = Paulo ,  e  Depois apareceu usuário não autorizado

    Porem a guiaFinRH  ficou oculta


    Última edição por PauloMaia em 1/4/2017, 21:44, editado 1 vez(es)


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes 1/4/2017, 21:44

    Paulo, no inicio do seu Topico o problema esta no:

    Case "Btn07"

    Agora vejo que na verdade não bem nesse caso... e sim no Case "guiaFinRH"
    Está embaralhando e confundindo todos inclusive eu!


    Última edição por FabioPaes em 1/4/2017, 21:50, editado 2 vez(es) (Motivo da edição : Usuário mudou a resposta... Portanto mudou a dica.)


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 21:50

    Sim, Fabio Paes, o comando esta passando ....... mas só testamos o que ja sabiamos

    ele reconhece o usuario logado , porem não faz a função visible = True para aquele usuario - e sim o procedimento If só vai atuar no Else quando o retorno é falso para o procedimento ....... é essa tecla que estou batendo desde o inicio deste tópico !

    quanto a caminho- não sei é a tabela USysRibbons - que é carregada junto com o sistema ! e ela esta acessivel, veja que o procedimento do Avelino ocultou ela para o usuario Paulo . - porem no retorno False.





    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  Avelino Sampaio 1/4/2017, 22:13

    Paulo,

    o problema tá na linha do Type. Tire o *50 da variável usuário

    DE:

    usuario As String * 50

    PARA:

    usuario As String

    Ou use o TRIM para tirar os espaços

    Case "Btn07"
    msgbox LOGIN.usuario
    If TRIM(LOGIN.usuario) = "Paulo" Then
    msgbox "Usuario autorizado..."
    visible = True
    Else
    msgbox "Usuario não autorizado..."
    visible = False
    End If


    Aguardamos


    Última edição por Avelino Sampaio em 2/4/2017, 08:56, editado 1 vez(es)
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 22:27

    Sim, Fabio Paes,  o comando esta passando .......  mas só testamos o que ja sabiamos

    ele reconhece o usuario logado , porem não faz a função visible = True  para aquele usuario - e sim o procedimento If só vai atuar no Else quando o retorno é falso para o procedimento .......   é essa tecla que estou batendo desde o inicio deste tópico !

    quanto a caminho- não sei é a tabela USysRibbons - que é carregada junto com o sistema !   e ela esta acessivel, veja que o procedimento do Avelino ocultou ela para o usuario Paulo . - porem no retorno False.


    Última edição por PauloMaia em 2/4/2017, 00:32, editado 1 vez(es)


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 22:44

    Avelino
    Tirei o * 50 ( usuario As String * 50 ) da declaração da variavel e
    Coloquei assim

    Case "guiaFinRH"
    MsgBox LOGIN.usuario
    If Trim(LOGIN.usuario) = "Paulo" Then
    MsgBox "Usuario autorizado..."
    visible = True
    Else
    MsgBox "Usuario não autorizado..."
    visible = False
    End If


    ==}> 1º Apareceu = Paulo , e Depois apareceu usuário autorizado

    DEU CERTO,

    Porem esta aparecendo a guiaPrincipal - essa teria que estar oculta para esse usuario tbm, tem como ocultar 2 guias para esse usuario ?


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 22:51

    .......

    quando entro com login usuario do RH -  só deve aparecer a guia respectiva do RH
    quando entro com login usuario do Administrador -  só deve aparecer a guia respectiva do do Administrador - essa esta funcionando OK

    quando entro com qualquer outro  usuario -  só deve aparecer a guia respectiva guiaGeral , essa guia é livre para todos , porem todos com excessão dos citados acima tem permissão de ver as outras que são exclusivas.


    Tenho 3 guias sendo elas .......


    guiaFinRH = > Restrita ao Dep. RH / só deve aparecer esta guia quando o usuario Adm. do sistema estiver logado Usuario = Administrador

    guiaAdm  => Restrita ao Adm do Sistema / só deve aparecer esta guia quando o usuario do RH estiver logado Usuario = FinanceiroRH

    guiaVendas   => Geral - para usuario não restrito - para qualquer novo usuario / porem as outras duas de cima não devem aparecer para esses....... Usuario = Qualquer outro ja cadastrado ou novo no sistema


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 1/4/2017, 23:49



    Case "guiaVendas"

    If Trim(LOGIN.usuario) = "Administrador" Then
    visible = False
    ElseIf Trim(LOGIN.usuario) = "FinanceiroRH" Then
    visible = False
    Else
    visible = True
    End If


    Estou tentando assim , mas não esta dando certo !


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia 2/4/2017, 00:00

    Obrigado Avelino Sampaio .


    Depois de uns ajustes para determinar quem deve ver o que ! ficou assim ..........


    Case "guiaVendas"
         
          If Trim(LOGIN.usuario) = "Administrador" Then
              visible = False
          ElseIf Trim(LOGIN.usuario) = "FinanceiroRH" Then
              visible = False
          Else
              visible = True
          End If
         
         
          Case "guiaFinRH"
          If Trim(LOGIN.usuario) = "FinanceiroRH" Then
              visible = True
          Else
              visible = False
          End If
         
         
          Case "guiaAdm"
          If Trim(LOGIN.usuario) = "Administrador" Then
              visible = True
          Else
              visible = False
          End If



    E esta RESOLVIDO.

    Muito OBRIGADO pela Colaboração de todos , neste Tópico .
    e
    Desculpe-Me por qualquer coisa , .......

    Avelino Sampaio
    Fabio Paes
    Alexandre Fim


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"

    Conteúdo patrocinado


    [Resolvido]Case - Compara Usuario Empty Re: [Resolvido]Case - Compara Usuario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 12:17