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]Referência a função

    avatar
    Júlio Laub
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/07/2011

    [Resolvido]Referência a função Empty [Resolvido]Referência a função

    Mensagem  Júlio Laub 4/3/2013, 21:07

    Tenho uma aplicação que tem uma lista de processos, em que cada um tem uma função que o executa.

    Para chamar cada função fiz um formulário com uma "Caixa de Listagem" com a lista de processos e uma "select case" que recebe o número do processo e chama a sua função, atracés co "Call nomefunção". Em cada adição de um novo processo tenho que editar o código e incluir o processo na "select case".

    Gostaria que a caixa de combinação enviasse o Nome da função e o código executasse esta função. De modo que na tabela de processos constasse o processo e sua respectiva função. Em resumo, gostaria de chamar a execução de uma função através de uma string que contivesse seu nome.


    Última edição por Júlio Laub em 9/3/2013, 03:39, editado 1 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Convidado 5/3/2013, 03:04

    Boas Julio seja bem vindo ao Fórum!

    Porque não faz uma função generica que sirva a todos?

    Ajudaria se postasse o teu bd ou ao menos os codigos que esta utilizando.

    cumprimentos.
    avatar
    Júlio Laub
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/07/2011

    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Júlio Laub 5/3/2013, 17:21

    Piloto,

    Grato pela atenção.

    É essa a idéia, uma função genérica que receba o código do processo e execute sua função correspondente, de forma que bastaria criar nova função e adicioná-la na tabela de processos. Nesta tabela tenho o nr do processo, pediodicidade e nome da função a ser executada, entre outros campos. Atualmente estou utilizando uma "Select Case", que tenho que editar a cada inclusão de novo processo. Como vai perceber, está ficando grande a Select Case". Assim :

    Select Case Lista8

    Case 52
    Call p_052_processar
    Case 83
    Call p_083_processar
    Case 250
    Call p_250_processar
    Case 168
    Call p_168_processar
    Case 178
    Call P_178_Processar
    Case 135
    Call P_135_Processar
    Case 278
    Call p_258_processar
    Case 258
    Call p_258_processar
    Case 238
    Call p_238_processar
    Case 172
    Call p_172_processar
    Case 242
    Call p_242_processar
    Case 252
    Call p_252_processar
    Case 186
    Call p_186_processar
    Case 161
    Call p_161_processar
    Case 267
    Call P_267_Processa
    Case 276
    Call p_276_processar
    Case 287
    Call p_287_processar
    Case 273
    Call p_273_importa_Arquivo_gstf111c
    Case 272
    Call P_272_Processa
    Case 274
    Call p_274_processar
    Case 261
    Call p_261_processar
    Case 181
    Call p_181_processar
    Case 299
    Call p_299_processar
    Case 127
    Call p_127_processar
    Case 253
    Call p_253_processar
    Case 300
    Call p_300_processar
    Case 301
    Call p_301_processar
    Case 203
    Call p_203_processar
    Case 309
    Call p_309_processar
    Case 316
    Call p_316_processar
    Case 317
    Call p_317_processar
    Case 318
    Call p_318_processar
    Case 311
    Call p_311_processar
    Case 314
    Call p_314_processar
    Case 320
    Call p_320_processar
    Case 321
    Call p_321_processar
    Case 323
    Call p_323_processar
    Case 324
    Call p_324_processar
    Case 310
    Call p_310_processar
    Case 236
    Call p_236_processar
    Case 307
    Call p_307_processar
    Case 326
    Call p_326_processar
    Case 329
    Call p_329_processar
    Case 330
    Call p_330_processar
    Case 332
    Call p_332_processar
    Case 327
    Call p_327_processar
    Case 246
    Call p_246_processar
    Case 216
    Call p_216_processar
    Case 336
    Call p_336_processar
    Case 340
    Call p_340_processar
    Case Else
    MsgBox "Rotina sem vículo neste formulário"
    End Select
    avatar
    Convidado
    Convidado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Convidado 6/3/2013, 21:23

    Creio ser possivel fazer a função e evitar este tipo de trabalho.

    Ajudaria se postasse um exemplo conciso do BD apenas com os objetos envolvidos para que se compreenda direito como funciona isto.

    Cumprimentos.
    avatar
    Júlio Laub
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/07/2011

    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Júlio Laub 7/3/2013, 12:59

    Piloto,

    Em anexo, exemplo do problema, com a página inicial. Não fui muito claro ou não soube explicar, mas necessito de um procedimento que chame uma função através de seu nome contido em uma string.

    O comando Call "NomeDaFuncao" não funciona. Mas é este tipo de procedimento que necessito, póis os nomes das funções estão armazenados em uma tabela, e são capturados através da string de seu nome.

    Grato pela atenção,

    Júlio Laub
    Anexos
    [Resolvido]Referência a função Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 3 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Convidado 7/3/2013, 13:58

    Veja se ja consegue ter um norte

    No seu módulo apenas a fnução:

    Function Processar(NomeProcesso As String)
    MsgBox NomeProcesso
    End Function


    Observe que coloquei uma msgBox apenas para mostrar que o texto da lista na coluna(1) aparecera na variável NomeProcesso
    Ai as opções são várias.

    No duplo clique da lista:

    Call Processar(Me.Lista8.Column(1))


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Convidado 7/3/2013, 14:20

    Outra opção é a função acima para rodar uma sub com o nome do processo, veja:


    Function Processar(NomeProcesso As String)
    Application.Run NomeProcesso
    End Function


    Sub p_135_FCO()
    MsgBox "Função chamada"
    End Sub


    neste caso estou clicando na lista no processo p_135_FCO, o nome sera carregado na variavel nome processo, em seguida será rodado a sub cujo nome seja = NomeProcesso.


    Cumprimentos.
    avatar
    Júlio Laub
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/07/2011

    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Júlio Laub 8/3/2013, 21:50

    Piloto :

    Show!!!

    Era isso que eu queria. Tentei um monte de alternativfas e a solução é bem simples. Muito Obrigado!!!
    avatar
    Convidado
    Convidado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Convidado 8/3/2013, 22:37

    Bão demais...

    So faltou o resolvido no tópico e clicar no joinha da mensagem que o auxiliou.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Referência a função Empty Re: [Resolvido]Referência a função

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 02:43