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]Identificar Valor de uma Função e assumir em um registo de uma tabela

    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 19/4/2012, 15:08

    Tenho uma função que me dá o nome do utilizador logado getUserAtual() e tenho num formulário uma combobox com duas colunas 'id' e 'nome' que me apresentam todos os utilizadores existentes, o que eu queria era que ao abrir esse formulário a combobox assumisse o uilizador logado, consigo fazer atraves do valor predefinido da combobox chamando a função, mas assume-se apenas como texto e não como utilizador.


    Não sei qual a melhor solução, se um ciclo que vê e compara o user atual com os users existentes

    ou

    se adaptar a função getUserAtual() a dar para além do nome do user logar tb o id que servirá para trabalhar com a tabela.



    toda a ajuda é bem vinda Wink


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 21/4/2012, 14:04

    Rui

    Aí está teu aplicativo

    Veja a variável "strUserAtual".

    Procure verificar as mudanças que eu fiz nessa variável, assim você entenderá a funcionalidade.

    Abraços
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 22/4/2012, 11:48

    Boas Balem, voce colocou a variável "strUserAtual" de privada para global certo?

    cumps


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 22/4/2012, 12:19

    Exato Rui

    E toda vez que houver um novo logon, essa variável recebe o nome do usuário que está fazendo esse logon.
    Poderá usar essa variável em qualquer lugar do aplicativo.

    Abraços
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 22/4/2012, 21:25

    Já tentei usar algumas formas de chamar a variavel mas sem sucesso,

    experiementei colocar como
    Código:
    valor prefifinido: =strUserAtual

    também experimentei usar como criterio na consulta originária da combobox que quero que apareça o funcionario logado:
    Código:
    SELECT Login.id, Login.User
    FROM Login
    WHERE Login.User="strUserAtual"


    experimentei usar o seguinte codigo ao abrir o formulario por vba:
    Código:
    Me.cbfuncionario.Column(1) = strUserAtual

    e este:

    Código:
    Set strUserAtual = Me.cbfuncionario.Column(1)


    mas tudo sem sucesso;

    alguma ajuda Wink


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 22/4/2012, 21:33

    Rui

    Conhece a janela imediata do Access?

    Faça o login com qualquer usuário e depois na janela imediata digite:

    ? strUserAtual

    Logo abaixa desse comando irá aparecer o nome do usuário logado.

    Caso não apareça é porque a variável está vazia.

    Outra coisa, toda vez que você interromper um código que está sendo executado, irá limpar essa variável.
    Verifique isso
    Abraços

    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 22/4/2012, 22:12

    Sim usando a combinação de teclas 'ctrl+G'

    mas usando as soluções acima e com a variavel com o funcionario logado não consigo colocar a combobox a assumir o valor da variavel.


    Nota: a combobox apresenta a listagem dos funcionario/users existentes.

    cumps Balem





    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 23/4/2012, 03:49

    Na combobox de qual formulário Rui?


    Última edição por Balem em 23/4/2012, 13:34, editado 1 vez(es)
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 23/4/2012, 11:39

    Bom dia Balem

    esta no fomulario, 'frm_tarefasnova'

    a combobox tem duas colunas uma com o id do user e outra com o nome do user, sendo que a primeira esta oculta.

    pode confirmar na bd anexada Wink


    PS: encontrei um post idêntico ao que eu preciso, e lá falam de uma propriedade, ComboBox.BoundColumn,

    Ola Criquio e JPaulo, com a ajuda de vcs acabei entendendo o que houve, a propriedade: ComboBox.BoundColumn, estava definida como 0(zero), oq ue não permitia manter a gravação, alterei para 1, como default e tudo deu certo.

    Obrigada.

    Ju.


    Link do post
    Anexos
    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela AttachmentGestorTarefas_FE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (129 Kb) Baixado 6 vez(es)


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 23/4/2012, 13:33

    Bom dia Rui

    A Combobox não é preenchida com o NOME do usuário por estar vinculada ao campo id_funcionario, o que somente irá aceitar o id do funcionário (Veja: Fonte de controle na propriedade da combobox).


    Você tem duas opções:

    Ao invés de usar combobox para mostrar o usuário logado, usar uma caixa de texto e então preencher ela com a variável strUserAtual, o que acho ideal, pois é só para exibir o usuário.

    Ou

    Como já conhece o exemplo Maestro do nosso colega Avelino, veja no módulo mod_login
    como se usa a variável login:

    Public login As login
    Type login
    id As Long
    Usuario As String * 50
    End Type

    Dessa maneira, você poderá usar o id do funcionário, que diga-se de passagem é o ideal.

    OBS. desculpe a troca de nomes, estava dormindo Embarassed

    Abraços



    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 23/4/2012, 13:45

    Não tem mal Balem Wink

    Pois mas eu a usar a textbox não consigo gravar na tabela tarefas, pois esta adiciona registos atraves dos id's nas tabelas relacionadas.
    Não sei se me entendeu, a tabela tarefas está relacionada com a tabela login atraves dos id's, logo para adicionar um novo registo na tabela tarefas tem de ser atraves do id e nao do nome do user.



    Quanto á segunda opção basta adicionar o type ao meu módulo, ou como posso implementar ?


    Cumps Very Happy


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 23/4/2012, 13:57

    Substitua a variável strUserAtual pelo código passado no post anterior

    Na propriedade ao clicar do botão do frm_login coloque:


    login.id = dbfuncionario.Column(0)
    login.Usuario = dbfuncionario.Column(1)

    Dai faça um pente fino (revise) todo o teu código.

    * O que significa Cumps?

    Abraços
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 23/4/2012, 14:09

    Muito obrigado mais uma vez Balem, assim que chegar do trabalho irei implementar a sua ajuda Wink

    Cumps em portugal é a abreviação de Cumprimentos, igual a abraço para o rapazes e beijos para as raparigas x)




    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 24/4/2012, 00:04

    A minha falta de conhecimento vba e o meu pouco tempo para a entrega do projeto não me permite por isto a funcionar,

    fiz as alterações como voce diss, mas não está funcionando :S
    Anexos
    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela AttachmentBackup.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (587 Kb) Baixado 4 vez(es)


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 24/4/2012, 01:44

    Taí Rui

    Dê uma boa revisada no código

    Cumps Razz
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 24/4/2012, 10:52

    Já estive a adaptar meu código, houve uns locais que tive de me aplicar, como o botão logout, e outros, mas surgiram outros problemas, como por exemplo, como coloco uma cbbox com os valors do type login:

    Experimentei dessas formas:

    Dão erro '424' de objeto obrigatório.

    Código:
    Private Sub Form_Open(Cancel As Integer)

    Me.cbuseratual.Column(0) = login.id
    Me.cbuseratual.Column(1) = login.Usuario

    End Sub


    Mas sem Sucesso.
    Código:
    Dim idUserAtual As Integer, userAtual As String
        idUserAtual = login.id
        userAtual = login.Usuario

    Me.cbuseratual.Column(0) = idUserAtual
    Me.cbuseratual.Column(1) = userAtual



    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 24/4/2012, 11:42

    Olá Rui

    Código:


    Private Sub Form_Open(Cancel As Integer)
    Me.txthorafim.Enabled = False
    DoCmd.GoToRecord , , acNewRec

    Me.cbfuncionario.Value = login.id


    Abraços
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 24/4/2012, 12:44

    És FANTÁSTICO Balem, Obrigado mesmo por tudo, sua disponibilidade e vontade de ajudar é notável! Very Happy



    Com as alterações feitas no botão login ficou tudo a funcionar menos, a parte que diferencia o formulário a abrir para o administrador e para o resto dos usuários:


    Código:

        If DCount("grupo", "Login", "id=" & login.id) = 7 Then
            DoCmd.OpenForm "frm_administracao"
        Else
            DoCmd.OpenForm "frm_tarefaslistar"
        End If
       
     


    se bem entendi 'If DCount("grupo", "Login", "id=" & login.id) = 7 Then' faz com que se o 'id' que está alojado em 'login.id' for igual a 7 (id do administrador) então abre o formulário administração, se não abre outro.

    está bem feita esta minha dedução?

    é que está me a abrir todos o formulario de administração Wink



    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 24/4/2012, 13:03

    Rui

    Não é isso.

    DCount() Conta quantos registros existem na tabela Login, de acordo com o critério estabelecido e retorna o numero de registro existente.

    Então:

    DCount("grupo", "Login", "id=" & login.id) = 1 then

    Diz:

    "Conte quanto registros tem no campo grupo da tabela Login, onde o ID seja igual ao id do usuário logado e se for = 1 , então (then)

    Tente ai, faça testes, tem que aprender amigo Twisted Evil Laughing

    Abraços
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 25/4/2012, 00:45

    Código:
    If DCount("grupo", "Login", "user=" & login.Usuario = "'Administrador'") Then
            DoCmd.OpenForm "frm_administracao"
        Else
            DoCmd.OpenForm "frm_tarefaslistar"
        End If


    Este codigo nao devia funcionar?

    Conta quanto registros tem no campo grupo da tabela Login, onde o user seja igual ao nome do usuário logado e se for = "'Adminstrador'" , então (then)

    xp


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 25/4/2012, 01:10

    Não !

    Tem aspas demais no Administrador.

    "'Administrador'"

    - Tire as aspas simples



    Analise o código:

    If DCount("grupo", "Login", "user=" & login.Usuario = "Administrador") then

    [Conte, no campo "grupo" da tabela "login", ONDE user= "Administrador"]

    Procure usar sempre a janela imediata para verificar se o código está correto.

    Se colocarmos esse código na janela imediata , o Dcount irá contar quantos registro tem na tabela, onde o User é igual a "Administrador" e como temos somente um usuário com esse nome, irá retornar o número 1.

    Como você irá comparar esse valor na linha If... then?

    Veja:

    If(se) o resultado do DCount()(que nesse caso é 1) for = a ... Then

    Veja que está faltando algo, ou seja, um valor de comparação para o IF tomar uma decisão.
    Poderia colocar direto o código, mas gosto de fazer com que as pessoas aprendam. Cool


    Abraços

    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 25/4/2012, 14:02

    E então Rui?

    Conseguiu resolver?
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 25/4/2012, 16:01

    Tive de trabalhar hoje, vou olhar e estudar bem tudo que me deixou aqui e já lhe digo alguma coisa, professor Balem Wink


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 25/4/2012, 16:52

    Resolvi o problema usando o Dlookup para capturar o administrador em vez de contar, pois tentei de varias maneiras e nao consegui funcionar com o DCount xD

    Código:
    If DLookup("grupo", "Login", "user= '" & login.Usuario & "'") = 1 Then
            DoCmd.OpenForm "frm_administracao"
        Else
            DoCmd.OpenForm "frm_tarefaslistar"
        End If


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 25/4/2012, 21:36

    Você saiba que o código para o DLookup() é quase o mesmo para o DCount?

    Experimente só trocar a palavra Dlookup pelo Dcount e verá.

    Então compare o código com o anterior que você postou e verá que só faltou o número 1 para que o o If... then pudesse comparar.

    Se estamos resolvido, por favor, coloque o resolvido no teu post.

    Abraços

    racl
    racl
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 77
    Registrado : 28/03/2012

    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  racl 25/4/2012, 21:54

    Eu tive pesquisando e achei um exemplo semelhante e adaptei x)


    Balem mais uma vez quero lhe agradecer por tudo mesmo Wink

    Cumps Very Happy


    .................................................................................
    "Sábio aquele que partilha seu conhecimento, tolo aquele que anuncia sua ignorância".
    By: Édy Leonardo
    avatar
    Convidad
    Convidado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Convidad 25/4/2012, 21:59

    Valeu pelo Retorno Rui

    Boa sorte !!

    Conteúdo patrocinado


    [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela Empty Re: [Resolvido]Identificar Valor de uma Função e assumir em um registo de uma tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 06:07