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


    Erro ao fechar relatório.

    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Erro ao fechar relatório.

    Mensagem  Sidney em 6/5/2019, 21:33

    Pessoal boa tarde!!

    Estou criando um controle de acesso aos relatórios por usuários, onde se o usuário não for do tipo "Administrador", ele nao poderá abrir os relatório, veja o codigo no evento ao carregar o relatório;

    Código:
    Dim strPermissao As Variant
         
           strUsuarioAtual = getUsuarioAtual()
           strPermissao = DLookup("[Grupo]", "tab_Usuario", "[Login]= '" & strUsuarioAtual & "'")
           
           If strPermissao <> "Administrador" Then
                   MsgBox "Você não tem permissão para este acesso.", vbCritical, "ATENÇÃO"
                   DoCmd.Close acReport, "rel_Digitador", acSaveYes

    só que está ocorrendo uma erro, veja.

    [color=#cc3300]"Erro em tempo de execução 2585"
    Esta ação não pode ser executada durante o processo de um evento de formulário ou relatório.
    [/color]

    como eu posso reverter isso?

    att; Sidney


    Última edição por Sidney em 7/5/2019, 12:37, editado 2 vez(es)
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1539
    Registrado : 17/03/2011

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Cláudio Machado em 6/5/2019, 21:51

    Boa tarde.

    Desculpe, mas não seria melhor você criar essa permissão para o form ocultar o botão de impressão?

    Assim ele não seria exibido ao usuário não permitido e não teria de programar no relatório isso para evitar erros.

    Tipo:

    Código:

    Dim strPermissao As Variant
        
    strUsuarioAtual = getUsuarioAtual()
    strPermissao = DLookup("[Grupo]", "tab_Usuario", "[Login]= '" & strUsuarioAtual & "'")
          
    If strPermissao <> "Administrador" Then
     me.SeuBotaoImpressao.visible = false
    else
     me.SeuBotaoImpressao.visible = true
    end if


    Só uma dica.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha Erro ao fechar relatório. 90dssg para agradecer a dica que solucionou seu problema.
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 6/5/2019, 21:55

    Claudio, boa tarde!!

    Então, a ideia é o relatório nem chegar abrir para o usuário, entendeu?

    att; Sidney
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1539
    Registrado : 17/03/2011

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Cláudio Machado em 6/5/2019, 21:58

    Sim Sidney, eu entedi, mas se você ocultar o botão, ele jamais conseguirá abrir o relatório correto?


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha Erro ao fechar relatório. 90dssg para agradecer a dica que solucionou seu problema.
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 7/5/2019, 12:35

    Bom dia Claudio,

    Só que neste caso não é um botão, e sim uma ribbon, construído com o monta ribbon do Avelino Sampaio, teria como então bloquear ou colocar como invisível esta ribbon para o referido usuário?

    att;

    Sidney
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1539
    Registrado : 17/03/2011

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Cláudio Machado em 7/5/2019, 14:56

    Bom dia.
    Claro que sim, veja um botão com o atributo "visible"

    id = "btCadastroBancos"
    image="banco_account_balance_black_18dp.png"
    getVisible="fncGetVisible"
    label = "Bancos"
    onAction = "mcrRibbon.Cadastro_Banco"
    tag="55"
    />


    E aqui o código que encontra-se no módulo "mod_ribbon"

    Código:

    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    On Error GoTo trataErro
    If nlogoff = False Then Exit Sub
    Select Case control.ID
        
          
        Case "btCadastroBancos"

    Dim strPermissao As Variant
        
    strUsuarioAtual = getUsuarioAtual()
    strPermissao = DLookup("[Grupo]", "tab_Usuario", "[Login]= '" & strUsuarioAtual & "'")
          
    If strPermissao <> "Administrador" Then
       visible = True
    else
       visible = false
    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


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha Erro ao fechar relatório. 90dssg para agradecer a dica que solucionou seu problema.
    maguim
    maguim
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 446
    Registrado : 15/05/2013

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  maguim em 7/5/2019, 14:59

    se me derem licensa aos colegas...


    cara, o access as vezes nós temos que fazer umas gabirra para que funcione as coisa bem proximas que queremos é um modo ruim porem funcional.


    tente colocar no seu codigo ao do tipo de ele abrir um formulario a parte sabe tipo:

    Código:
    Dim strPermissao As Variant
         
          strUsuarioAtual = getUsuarioAtual()
          strPermissao = DLookup("[Grupo]", "tab_Usuario", "[Login]= '" & strUsuarioAtual & "'")
         
          If strPermissao <> "Administrador" Then
                  DoCmd.OpenForm "CRIAR UM FORMULARIO ESCRITO QUE NAO TEM PERMISSÃO em forma de pop", acSaveYes


    pelo que entendi:
    Esta ação não pode ser executada durante o processo de um evento de formulário ou relatório.

    se vc mandar abrir um formulário acho que mata charada, porque vc esta fechando algo, não sei só pitaco ve se funciona e fique funcional a vc

    Forte abraço


    .................................................................................
    O conhecimento é a Dadiva da Vida. Sem ele o que seriamos ?! Surprised
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 7/5/2019, 19:20

    Claudio Boa Tarde!!

    Tem uma coisa que não entendi, esta parte do código abaixo não encontrei no módulo "mod_ribbon" como você mencionou,  em que lugar ela entra?

    Código:
    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    On Error GoTo trataErro
    If nlogoff = False Then Exit Sub
    Select Case control.ID

    e estas demais faz parte da função "fncOnAction"

    Código:

    End Select


    sair:
        Exit Sub
    trataErro:
        MsgBox "Erro: " & Err.Number & vbCrLf & Err.Description, vbCritical, "Aviso", Err.HelpFile, Err.HelpContext
        Resume sair:
    End Sub


    Eu terei que incluir tudo em um mdlulo global?
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 7/5/2019, 20:11

    Claudio,

    Fiz o seguinte, coloquei o código em modulo global, e acrescentei a getVisible="fncGetVisible" nos botões da ribbon que desejo, acho que seja esse o procedimento, mas ao testar está emitindo um erro,

    "o PAS NÃO PODE EXECUTAR A MACRO OU FUNÇÃO DE RETORNO DE CHAMADA "fncGetVisible"
    verifique se a macro ou função existe e se possui os parametros corretos.


    o que poderia ser? se esse foi mesmo o precedimento correto.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1539
    Registrado : 17/03/2011

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Cláudio Machado em 8/5/2019, 00:45

    Veja bem, no módulo "mod_ribbon" existe essa função "Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)" sim

    Acho que seria mais viável você postar esta parte do seu sistema

    Mas se esse código não existe, copie e cole lá no "mod_ribbon"

    Código:

    Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
    On Error GoTo trataErro
    If nlogoff = False Then Exit Sub
    Select Case control.ID
       
         
        Case "btCadastroBancos"

    Dim strPermissao As Variant
       
    strUsuarioAtual = getUsuarioAtual()
    strPermissao = DLookup("[Grupo]", "tab_Usuario", "[Login]= '" & strUsuarioAtual & "'")
         
    If strPermissao <> "Administrador" Then
      visible = True
    else
      visible = false
    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

    Acredito que desta forma não causará mais o erro.
    Está ocorrendo erro devido a Ribbon está procurando por ele.



    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha Erro ao fechar relatório. 90dssg para agradecer a dica que solucionou seu problema.
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 9/5/2019, 14:36

    Cláudio, Bom dia!!

    Desculpe pela demora, estou disponibilizando parte do projeto para você verificar, a ideia é que os usuários abaixo um possa ter acesso e o outro não,

    usuário: Sidney senha: 123456, usuário tipo usuário
    usuário: Admin  senha: 142536, usuário tipo administrador

    o usuário tipo normal não deve ter acesso, a ribbon Relatório -> Digitador deve ficar invisível ou bloqueada,

    desde de já obrigado!

    att: Sidney
    Anexos
    Erro ao fechar relatório. AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (942 Kb) Baixado 11 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7371
    Registrado : 05/11/2009

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Alexandre Neves em 9/6/2019, 14:18

    Boa tarde, Sidney

    Como fazer login?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 370
    Registrado : 08/10/2012

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Sidney em 11/6/2019, 12:19

    Bom dia Alexandre,

    Não entendi a pergunta?

    att; Sidney

    Conteúdo patrocinado

    Erro ao fechar relatório. Empty Re: Erro ao fechar relatório.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 16/10/2019, 18:18