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]Case - Compara Usuario

    Compartilhe
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    Alexandre Fim
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  Alexandre Fim em Sab 01 Abr 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,


    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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 Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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 Sab 01 Abr 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ê"
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  Avelino Sampaio em Sab 01 Abr 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
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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 Sab 01 Abr 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ê"
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  FabioPaes em Sab 01 Abr 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 Sab 01 Abr 2017, 21:50, editado 2 vez(es) (Razã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!
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  Avelino Sampaio em Sab 01 Abr 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 Dom 02 Abr 2017, 08:56, editado 1 vez(es)
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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 Dom 02 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Sab 01 Abr 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ê"
    avatar
    PauloMaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Case - Compara Usuario

    Mensagem  PauloMaia em Dom 02 Abr 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ê"

      Data/hora atual: Sab 18 Nov 2017, 01:05