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

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário Empty [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    Mensagem  renpv 23/11/2015, 12:48

    Estou trabalhando em uma base de dados onde usuários de vários setores irão imprimir os mesmos formulários.
    Acontece que cada setor tem seu cabeçalho específico com logo e texto.

    Existe uma forma de inserir um cabeçalho a um relatório de acordo com o usuário?

    Ou terei que fazer tudo no estilo mostrar/ocultar?

    Por enquanto são apenas 3 setores. Mas e se aparecerem mais?

    Atenciosamente,
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário Empty Re: [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    Mensagem  Silvio 23/11/2015, 13:07

    Bom dia Renato.

    Algo parecido com isso...

    Crie a função abaixo, no primeiro formulário a ser aberto.

    Function usuarioAtivo() As String

    usuarioAtivo = Environ("USERNAME")

    End Function

    No mesmo formulário,depois em uma caixa de texto,desacoplada, na origem do controle dela coloque:
    =usuarioAtivo()

    Coloque o nome dessa caixa de texto como TxtUser.

    Indo para o relatório no modo desing, propriedades eventos, ao formatar do cabeçalho algo parecido com isso.
    Coloque aqui também a caixa de texto desacoplada que recebe o nome do usuário, mas no modo oculto.

    select case as user
    case txtuser="nomedousuario"
    me.lblcaption.txt="o texto que deseja aqui"

    case txtuser="nomedooutrousuario"
    me.lbl.caption.txt= " outro texto aqui"

    end select.


    Obs. não fiz nenhum teste. portanto se funfar ou não me avise.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário Empty Re: [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    Mensagem  renpv 23/11/2015, 18:01

    Silvio, obrigado pela dica. Vou testar.

    Acredito, inclusive, que funcione. Já guardo uma variável global com os dados dos usuários e isso vai me ajudar.

    Porém, eu estava pensando em algo tipo selecionar um cabeçalho inteiro (com texto e imagens).



    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário Empty Re: [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    Mensagem  renpv 25/11/2015, 18:58

    Consegui.

    No evento ao ativar, inseri o seguinte código:

    Código:

    Private Sub Report_Activate()
        If validarSessao = True Then
            Me.logoDepartamento.Picture = "U:\sistema-imagens\logo-" & departamentoUsuario & ".png"
            Select Case departamentoUsuario
                Case "proppg"
                    Me.lbl_departamento.Caption = "DEPARTAMENTO DE VENDAS E ORÇAMENTO"
                Case "proex"
                    Me.lbl_departamento.Caption = "DEPARTAMENTO DE PESSOAL E RELAÇÕES HUMANAS"
                Case "prograd"
                    Me.lbl_departamento.Caption = "DEPARTAMENTO DE CONTROLE DE ESTOQUE"
            End Select
        End If
    End Sub

    Por enquanto são apenas 3 departamentos, se aparecer mais é só aumentar no Case.
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Mudar todo o cabeçalho de acordo com o usuário Empty Re: [Resolvido]Mudar todo o cabeçalho de acordo com o usuário

    Mensagem  Silvio 25/11/2015, 19:10

    Exatamente....apenas aumente o case.

    Bons estudos.

      Data/hora atual: 16/4/2021, 20:56