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


3 participantes

    [Resolvido]Campo de Formulário

    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Campo de Formulário

    Mensagem  Carandiru 19/2/2013, 13:01

    Bom dia!
    Parabéns a todos pelo excelente trabalho no fórum.

    Vamos lá.

    Como posso chamar uma variável através de outra para preencher um campo em um formulário?!?!?! Shocked Embarassed

    Ex: no meu formulário existe um campo chamado A011

    Abro uma tabela (POSTO_TRABALHO_MATRIZ) que tem o campo POSTO_TRABALHO preenchido com o dado A011

    Conforme falei, tenho em um formulário um campo chamado A011. Como faço para preencher este campo (A011) com o nome “JOSE MARIA”, chamando o campo POSTO_TRABALHO da tabela POSTO_TRABALHO_MATRIZ que contém o dado A011. Shocked

    Usei a função EVAL mas dá erro Twisted Evil

    Não sei se fui claro Sad , eis o código abaixo:

    Desde já agradeço a ajuda....

    Private Sub Form_Open(Cancel As Integer)
    Dim sCdPessoa, sNmPessoa, Db As Database, sTabela As Recordset, sVariavel
    Set Db = CurrentDb()

    Set sTabela = Db.OpenRecordset("POSTO_TRABALHO_MATRIZ")

    Do While Not sTabela.EOF
    sVariavel = sTabela("POSTO_TRABALHO")
    sCdPessoa = DLookup("[CD_PESSOA]", "POSTO_TRABALHO_BANCADA_2003_03", "[Posto_Trabalho] = '" & sVariavel & "'")

    If IsNull(sCdPessoa) Then

    Else
    sNmPessoa = DLookup("[Nome]", "Funcionarios", "[Cd_Pessoa] = " & sCdPessoa)

    Eval(sTabela("POSTO_TRABALHO")) = sNmPessoa 'erro aqui Evil or Very Mad

    End If
    sTabela.MoveNext

    Loop

    End Sub

    linx1010
    linx1010
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 03/10/2011

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  linx1010 19/2/2013, 13:35

    Meu caro amigo, o Dlookup nao é muito bom dependendo to tamanho da sua tabela pode dar problemas e o eval é uma função muito generica, ja tentou troca-la por db.Execute?
    Como você deve ter certeza do registro na variavel "sNmPessoa" basta fazer a consulta Sql assim:

    varialvel = db.execute("select seu_campo from POSTO_TRABALHO_MATRIZ where [Cd_Pessoa] = " & sNmPessoa)

    se puder mandar uma parte do mdb pra analizarmos fica mais facil de entender.


    .................................................................................
    Leio playboy pelo mesmo motivo que assisto national geographic, para poder ver lugares que sei que nunca irei visitar.
    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Carandiru 19/2/2013, 14:37

    Meu caro LNX1010, muito obrigado pela atenção.

    Deixa eu explicar melhor, visto que a minha postagem tá confusa.

    Tenho uma variável chamada A011
    Dim A011

    Tenho outra chamada vIdent, então
    Dim vIdent

    vIdent = “A011” não a variável

    quero preencher a variável A011 com o nome “JOSÉ MARIA” chamando a variável vIdent

    no Clipper era simples (bons tempos) Sad tínhamos

    &vIdent = “JOSÉ MARIA”

    que é o mesmo que

    A011=”JOSE MARIA”

    Acredito que no ACCESS ou VB tenha algum modo de fazê-lo, quebrei a cabeça mas não encontrei nada parecido...

    Valeu pela ajuda.


    Última edição por Carandiru em 13/3/2013, 19:58, editado 1 vez(es)
    linx1010
    linx1010
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 03/10/2011

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  linx1010 19/2/2013, 14:58

    AAAAaaaaA tá,
    Como voce tinha escrito "Ex: no meu formulário existe um campo chamado A011" pensei que fosse um campo do form, se entendi voce quer que a variavel "vIdent" possua o mesmo valor da variavel "A011", se for isso basta igualar uma a outra

    vIdent = A011

    caso a A011 seja global isso vai servir para todos os forms que ela for solicitada


    .................................................................................
    Leio playboy pelo mesmo motivo que assisto national geographic, para poder ver lugares que sei que nunca irei visitar.
    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Carandiru 20/2/2013, 17:15

    Ainda não me fiz compreender.

    O campo A011 está em um formulário e ao abri-lo o campo deve ser preenchido com “JOSÉ MARIA”, mas da seguinte forma:

    Dim sVar as string

    sVar = “A011” não é o campo do form

    quero chamar sVar e preencher o campo A011 no form com “JOSÉ MARIA”.

    Seria muito simples preencher da forma abaixo:

    A011 = “JOSÉ MARIA”

    mas quero preencher através da variável sVar, como falei, no Clipper era muito simples

    &sVar = “JOSÉ MARIA”

    ao abrir o form o campo A011 era preenchido com JOSÉ MARIA.

    Agora no ACCESS ainda não identifiquei como fazê-lo e tenho certeza que existe uma forma de proceder.

    Um grande abraço e obrigado novamente pela ajuda. Very Happy

    Carandiru
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Alexandre Neves 20/2/2013, 18:22

    Boa tarde, Carandiru, e bem-vindo ao fórum
    Não percebi bem a questão, mas pelo que percebi, coloque
    A011 = sVar
    Nomeie os controlos de forma normalizada.


    .................................................................................
    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
    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Carandiru 21/2/2013, 11:21

    Olá Alexandre,

    Neste caso, A011 = sVar, atribuirá "A011" à variável A011, mas quero que a variável A011 seja preenchida com "JOSÉ MARIA".

    Dim sVar, A011
    sVar = "A011"

    Quero que A011, através de sVar, receba "JOSÉ MARIA"
    Eval(sVar) = "JOSE MARIA"

    Tentei a função Eval mas ocorre erro.

    Obrigado pela atenção.

    Abraços, cheers


    linx1010
    linx1010
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 03/10/2011

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  linx1010 21/2/2013, 18:37

    Tira as aspas
    sVar = A011

    Com elas o vba entende q a011 é uma string sem ele entende que é uma variavel


    .................................................................................
    Leio playboy pelo mesmo motivo que assisto national geographic, para poder ver lugares que sei que nunca irei visitar.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Alexandre Neves 21/2/2013, 18:54

    Boa noite,
    Parece-me algo confusa a sua questão, mas "quero que a variável A011 seja preenchida com "JOSÉ MARIA"."
    Coloque
    A011 ="JOSÉ MARIA"


    .................................................................................
    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
    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Carandiru 25/2/2013, 20:08

    Alexandre e lnx1010, eureka!!!!! cheers

    E isso que eu queria:

    Private Sub Form_Open(Cancel As Integer)
    Dim sVar
    sVar = "A011"
    Forms!Fm_TESTE!(sVar) = "JOSE MARIA"
    End Sub

    AO ABRIR O FORM FM_TESTE O CAMPO A011 e preenchido com "JOSE MARIA"

    Desculpe-me pela falta de clareza no meu post.

    Feras, obrigado pela atenção e depois tem mais dúvidas affraid

    Saudações alvinegras.....
    _____________________________________________________________________
    O PATO QUE É MALA, NASCE COM OS DEDOS COLADOS PARA NÃO USAR ALIANÇA.
    avatar
    Carandiru
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/11/2012

    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Carandiru 25/2/2013, 20:16

    Resolvido... rabbit

    Conteúdo patrocinado


    [Resolvido]Campo de Formulário Empty Re: [Resolvido]Campo de Formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 13/5/2024, 17:53