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]Macro/código para executar outras macros.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 3/9/2012, 23:57

    Passo a tentar explicar.
    Tabela "codigo" com um unico registo que pode oscilar entre 1 e 20.
    20 macros (mk1, mk2, mk3...)
    Pretendo colocar um unico "botão" no formulário "Painel" que execute as diversas makros conforme opção prévia na tabela "codigo".
    Aguardo a v/ ajuda
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 4/9/2012, 00:12

    Tente:

    Código:
    Dim TMK As Integer

    For TMK = 1 To DLookup("NomeCampo", "NomeTabela")
        DoCmd.RunMacro "mk" & TMK
    Next

    MsgBox "Foram acionadas " & TMK & " macros. Processo concluído", vbInformation, "Concluído"


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 4/9/2012, 00:31

    Está a funcionar, mas entrou em looping.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 4/9/2012, 12:55

    Como assim, entrou em looping? Poste o código completo que está usando.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 4/9/2012, 18:22

    Anexei ficheiro com BD de teste.
    Anexos
    [Resolvido]Macro/código para executar outras macros. Attachmenttestemacro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 5 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 4/9/2012, 18:43

    Aqui parece rodar normal, a não ser o fato de abrir uma caixa de diálogo pedindo Valor do parâmetro, o qual, verifiquei ser por causa de uma parâmetro que existe nas consultas. Como não sei a que se destina esse parâmetro e nem o restante do código que está na função, como por exemplo o FindNext, não posso opinar mais.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 4/9/2012, 19:08

    A questão é que só deveria abrir a macro indicada na tabela control e uma única vez.
    abre sempre a macro 1 e depois entra e ciclo.
    mvilela
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 4/9/2012, 19:13

    Já tentou retirar esse parâmetro das consultas para ver? Tambem acredito que tenha outras funções a mais no clique desse botão, certo? Pois ele veio apenas com o botão, mas o restante do código não é justificável com esse botão apenas. Então imagino que o original tenha outros controles e funções que possam estar influenciando tambem.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 4/9/2012, 19:20

    O parametro nas consultas serve para detetar qual a macro aberta.
    Se possivel efectue a alteração directamente na BD.
    mvilela
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 4/9/2012, 22:48

    Detectar a macro aberta? Qual a finalidade? Se for apenas para saber qual macro abriu, melhor colocar um rótulo no formulário para exibir o nome dela. Basta incluir uma ou duas linhas de código:

    Código:
    Dim TMK As Integer

    For TMK = 1 To DLookup("NomeCampo", "NomeTabela")
        Me.NomeDoRótulo.Caption = "Rodando a macro mk" & TMK
        DoCmd.RunMacro "mk" & TMK
    Next

    Me.NomeDoRórulo.Caption = " "
    MsgBox "Foram acionadas " & TMK - 1 & " macros. Processo concluído", vbInformation, "Concluído"
    Adicionei o - 1 na mensagem que informa a quantidade de macros senão dá uma a mais.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Macro/código para executar outras macros.

    Mensagem  mvilela 5/9/2012, 08:44

    O efeito é o mesmo
    Não abre a "unicamente" a macro previamente escolhida na tabela control, mas cria um ciclo que abre até á macro indicada em control.
    Ex:( se indicado 1 em control abre a macro 1 e termina. Se indicado 5 em control abre as macros 1 até á 5)
    Anexo a BD para poder comprovar.
    mvilela
    Anexos
    [Resolvido]Macro/código para executar outras macros. Attachmenttestemacro1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 8 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 5/9/2012, 11:48

    Se indicado 5 em control abre as macros 1 até á 5
    Mas não era para ser assim mesmo? Foi isso que entendi no primeiro post. Que se tivesse o número 3, abriria as macros mk1, mk2 e mk3. Entendi que seria do número 1 até o número que estivesse cadastrado na tabela. Então, no caso, você quer abrir números aleatórios? Por exemplo, cadastrar os números 1, 5, 6, 7 e 10 e abrir as macros mk1, mk5 a mk7 e mk10?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 5/9/2012, 13:43

    Olha só, abrindo suas consultas no modo SQL, temos:

    SELECT mestre.id, mestre.nome, mestre.cidade, mestre.bi, mestre.cp
    FROM mestre
    WHERE (((mestre.cidade)=[macro1]));


    Não existem macro1, macro2, etc. Por isso sempre abrirá aquela janelinha. Eu ainda não entendi esse WHERE (((mestre.cidade)=[macro1])); mas criando outras consultas sem essa cláusula WHERE ou retirando essa cláusula das consultas, funciona como deves.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mvilela
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  mvilela 5/9/2012, 14:13

    Alterei o código e ficou a funcionar como pretendia.
    Obrigado pela ajuda
    mvilela

    Dim TMK As Integer

    For TMK = DLookup("control", "control") To DLookup("control", "control")
    Me.Rótulo3.Caption = "Rodando a macro mk" & TMK
    DoCmd.RunMacro "mk" & TMK
    Next

    Me.Rótulo3.Caption = " "
    MsgBox "Foi acionada a macro " & TMK - 1 & ". Processo concluído", vbInformation, "Concluído"
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Macro/código para executar outras macros. Empty Re: [Resolvido]Macro/código para executar outras macros.

    Mensagem  criquio 5/9/2012, 14:19

    Ainda não entendi direito o que você queria. Se era rodar apenas a macro cadastrada na tabela, ou seja, apenas uma, nem precisaria da variável. Poderia ser apenas assim:

    DoCmd.RunMacro DLookup("control", "control") & TMK


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


      Data/hora atual: 20/1/2022, 11:14