MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido] Alterar valor no código VBA através de um Form

    Compartilhe
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 7/4/2018, 23:51

    Viva a todos,
    Será possível através de um Campo no Formulário alterar uma determinada linha de código VBA, existente no seu Módulo?
    O que eu pretendo mesmo é introduzir um Texto ou Valor e que este fique explicito no código, sem recurso a qualquer Variável ou valor de Tabela.
    Cumprimentos

    Bruno Gordino
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5590
    Registrado : 15/03/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  ahteixeira em 8/4/2018, 11:42

    Olá Bruno, não me parece possível sem variável.
    Poderia ser com automatismo, mas com variável.
    Aguardamos se algum colega tem outra opinião.
    Abraço

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 76
    Registrado : 27/10/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  cpampas em 8/4/2018, 14:39

    Bom dia,

    Algo assim ?

    Dim a As Integer
       With Application.Modules("Module1")
           For a = 1 To .CountOfLines
               If InStr(.Lines(a, 1), "determinada linha") > 0 Then
                   .ReplaceLine a, "NOVO CODIGO"
               End If
           Next a
       End With

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 8/4/2018, 15:00

    Bruno

    Ainda está vago o que pretende.

    Mas acredito que poderá utilizar frags (bandeiras) para se decidir que linha ou conjunto de código utilizar.


    Explique melhor o que pretende.

    [ ]'s
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 8/4/2018, 19:36

    Olá mais uma vez, e obrigado pela disponibilidade.

    No modulo do Form tenho algo assim:
    Código:
    Dim CodePass As Variant
    CodePass = "12345"

    Pretendia através de um campo no Form conseguir alterar uma determinada linha num Módulo, para ficar assim:
    Código:
    CodePass = "ABCDE"

    Obrigado mais uma vez.

    Cumprimentos

    Bruno Gordino


    Última edição por brunogor em 8/4/2018, 22:02, editado 4 vez(es)

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 76
    Registrado : 27/10/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  cpampas em 8/4/2018, 20:58

    Acho que se adaptares o codigo  da minha mensagem .alterando estas 3 linhas, deveria funcionar


    Código:
    If InStr(.Lines(a, 1), "determinada linha") > 0 Then
                    .ReplaceLine a, "NOVO CODIGO"
                End If

    para

    Código:
    If InStr(.Lines(a, 1), "12345") > 0 Then
                   .ReplaceLine a, "CodePass = ""ABCDE"""
                End If

    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 8/4/2018, 22:02

    Viva Sr. Carlos
    Tentei mas umas vezes funciona outras não, pelo que anexo a BD em teste.

    Por vezes dá o erro 7961:
    "O Microsoft Access não consegue localizar o módulo 'Module1' ... referenciado ...do Visual Basic."

    Outras não muda a linha:
    Código:
    CodePass = "12345"
    O meu obrigado pela sua disponibilidade.
    Cumprimentos

    Bruno Gordino
    Anexos
    Teste_v1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 2 vez(es)


    Última edição por brunogor em 8/4/2018, 22:58, editado 1 vez(es)

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 8/4/2018, 22:24

    Bruno

    Só de ler já vi o erro, no lugar de "Modulo1" coloque o nome do módulo onde está o código que quer mudar.

    Ele não muda a linha pois não acha o móduo com o nome "Modulo1".

    [ ]'s
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 8/4/2018, 22:29

    Viva Sr. Noob
    O módulo tem mesmo o nome "Module1".
    Cumprimentos

    Bruno Gordino

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 8/4/2018, 22:42


    O arquivo que postou está corrompido.

    Baixei 2 vezes e confirmou.

    Quanto ao erro, ele é claro, o Access não consegue achar um módulo com esse nome "Module1".

    Sugiro que mude o nome dele para testar.

    Aguardamos...
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 8/4/2018, 23:02

    Sr. Noob
    Recoloquei BD de "Teste_v1".
    Também já tinha alterado o nome do modulo e dava erro na mesma, não percebo é o porquê de não dar sempre erro.
    Cumprimentos

    Bruno Gordino
    Anexos
    Teste_v1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 7 vez(es)

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 9/4/2018, 01:58

    Bruno

    Eis o código:


    Private Sub Comando2_Click()
    Dim A As Integer
      With Application.Modules("Module1")
          For A = 1 To .CountOfLines
               If InStr(1, .Lines(A, 1), "12345", 5) <> 0 Then
                 .ReplaceLine A, "CodePass = " & Chr(34) & "ABCDE" & Chr(34)
              End If
          Next A
      End With
    End Sub

    [ ]'s
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 9/4/2018, 19:42

    Viva Sr. Noob
    Testei e funcionou perfeitamente
    Muito obrigado mais uma vez pela vossa disponibilidade
    Cumprimentos

    Bruno Gordino

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 9/4/2018, 20:02

    Que bom que ajudei

    Mas devemos agradecer ao Carlos (cpampas) pelo código disponibilizado.

    Nunca tinha feito isso, foi um aprendizado para mim também Wink

    Boa sorte !

    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 188
    Registrado : 24/02/2013

    Alterar valor no código VBA através de um Form

    Mensagem  brunogor em 9/4/2018, 20:18

    Viva Sr. Noob
    Tive a atenção de também agradecer por MP ao Sr. Carlos.
    Obrigado mais uma vez a todos.

    Bruno Gordino

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 76
    Registrado : 27/10/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  cpampas em 9/4/2018, 20:53

    A todos os participantes, tambem o meu obrigado, pela ajuda, e simpatia
    Abraço
    Carlos
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5590
    Registrado : 15/03/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  ahteixeira em 9/4/2018, 21:12

    Olá a todos,

    Com o MaximoAccess é sempre aprender.

    Bruno e se o projecto estiver compilado (mde ou accde) funciona?

    Abraço a todos




    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  Noobezinho em 9/4/2018, 21:18

    Alvaro

    Fiz o teste, não funfa não, pois o módulo está compilado e protegido.

    [ ]'s
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5590
    Registrado : 15/03/2013

    Re: [Resolvido] Alterar valor no código VBA através de um Form

    Mensagem  ahteixeira em 9/4/2018, 22:35

    Amigo Noob obrigado,

    Assim fica um excelente tópico e completo.

    Abraço a todos
    cheers


      Data/hora atual: 21/11/2018, 02:21