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


2 participantes

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    avatar
    Feltz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 18
    Registrado : 15/12/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Feltz 13/10/2014, 09:49

    Olá amigos,

    Gostaria de um auxilio na seguinte situação:

    Em um código que tenho, preciso chamar um outro procedimento, porém o nome desse procedimento está em um campo de uma tabela...
    Tentei fazer com o código abaixo, onde busquei o valor do campo da tabela (procedimento que quero chamar) e gravei em uma variavel... depois usei a função call para chamar, porém gera o erro: "Era esperado Sub, Function ou Property"

    Código:
    'Variável que grava o código da regra a ser calculada
    Dim VRegra As String

    'Busca a verba e a respectiva regra de calculo
    VRegra = DLookup("COD_REGRA", "TBL_REGRA", "ID_REGRA  = 1")

    'Chama o procedimento com o nome gravado na variavel VRegra
    Call VRegra

    É possivel chamar um procedimento com o nome dele armazenado um campo de tabela? alguma sugestão?
    Obrigado,
    Abraço
    Feltz
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Dilson 13/10/2014, 10:08

    Gera o erro porque a função não existe.
    Ex.
    Vamos supor que a variável traga o nome "ProcedimentoX", logo terá que ter a sub ou função existente no código, assim:

     Function ProcedimentoX()
        'Codigo
     End Function

    Se o que está armazenado na tabela é um argumento da função, então:

    Call ProcedimentoX(VRegra)

    e a função estará esperando o argumento:

      Function ProcedimentoX(argumento)
         'Codigo
      End Function
    avatar
    Feltz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 18
    Registrado : 15/12/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Feltz 13/10/2014, 10:32

    Certo, eu fiz o seguinte:

    Eu gravei na variável VRegra o valor: R0001...

    Dai depois tenho o código abaixo:

    Código:
    Sub R0001()
    MsgBox 100 / 4
    End Sub

    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Dilson 13/10/2014, 15:45

    Tente assim:
    Call Eval(VRegra & "()")

    A sua função não pode estar dentro do form, ou seja, não funciona com subs. Tem de estar num módulo, assim:

    Public Function R0001()
    'Codigo
    End Function

    O modificador Public é opcional
    avatar
    Feltz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 18
    Registrado : 15/12/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Feltz 13/10/2014, 17:49

    Dilson,

    Com a sua sugestão funcionou perfeitamente!
    Muito Obrigado pela ajuda amigo.

    Abraço e boa semana.
    Att,
    Luis
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Dilson 13/10/2014, 22:35

    Agradecemos o feedBack e por marcar o Resolvido. Até a próxima!

    Titulo modificado para facilitar ferramenta de buscas:
    De: Call + Procedimento com o nome armazenado em tabela
    Para: Chamar nome da função armazenado em variável (Call Variavel)

    Conteúdo patrocinado


    [Resolvido]Chamar nome da função armazenado em variável (Call Variavel) Empty Re: [Resolvido]Chamar nome da função armazenado em variável (Call Variavel)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 09:14