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

    Ajuda com loop for next

    avatar
    geremias
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 14/03/2012

    Ajuda com loop for next Empty Ajuda com loop for next

    Mensagem  geremias 21/9/2021, 17:50

    Olá amigos do fórum!

    Tenho um formulário com um campo “Campo1”, esse campo recebe uma sequência de letras aleatórias de comprimento 25 caracteres.

    Ex:

    Campo1= abfksnrrrjfkrotplafffhgja

    Eu criei uma rotina for/next para localizar letras que se repetem 3 vezes e nesse caso marcar essas sequencias de cor diferente.

    Acontece que ao encontrar a primeira sequência ele faz o que precisa fazer mudando a cor da sequência encontrada, porém não continua pesquisando o restante das letras, ou seja, se houver uma outra sequência de três letras iguais ele não marca de cor diferente.

    No caso do exemplo acima só localiza no Campo1 a sequencia rrr , ignorando os fff.

    ficando assim:

    Campo1= abfksnrrrjfkrotplafffhgja

    quando na verdade precisaria ficar assim:

    Campo1= abfksnrrrjfkrotplafffhgja

    Poderiam dar uma olhada no código e se possível indicar onde posso estar errando?

    Código:
    For k = 1 To (Len(Me.Campo1) -1
                        If Mid(Me.Campo1, k, 1) = Mid(Me.Campo1, (k + 1), 1) Then
                            If Mid(Me.Campo1, (k + 1), 1) = Mid(Me.Campo1, (k + 2), 1) Then
                                    letra1 = Mid(Me.Campo1, k, 1)
                                    letra2 = Mid(Me.Campo1, k + 1, 1)
                                    letra3 = Mid(Me.Campo1, k + 2, 1)
                                    seq1 = "<font color=blue>" & Mid(Me.Campo1), 1, k - 1)
                                    seq2 = "<font color=red>" & letra1 & letra2 & letra3
                                    seq3 = "<font color=blue>" & Mid(Me.Campo1, k + 3, Len(Me.Campo1) - (k + 2)))
                                    Me.Campo1 = seq1 & seq2 & seq3
                            End If
                        End If
                 Next k


    Um outro ponto: como eu faria para pesquisar qualquer tamanho de sequência? Eu fiz de um jeito para comparar de três em três letras. Mas como posso fazer para procurar qualquer que fosse a quantidade repetida, 3, 4, 5, etc., sem precisar colocar um monte de If/End If.

    Agradeço a todos que puderem ajudar.

    Gerson.
    avatar
    carloscodo
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 28/07/2014

    Ajuda com loop for next Empty Re: Ajuda com loop for next

    Mensagem  carloscodo 23/9/2021, 18:49

    Tens que colocar um contador para quando a variável for a mesma, somar +1 e quando for diferente, grava e deixa = 0 para prosseguir
    avatar
    geremias
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 14/03/2012

    Ajuda com loop for next Empty Re: Ajuda com loop for next

    Mensagem  geremias 25/9/2021, 14:33

    Bom dia a todos!

    prezado Carlos.

    Eu não entendi o que você propôs.


    ainda estou sem conseguir resolver o problema.

    mas agradeço pela ajuda.

    Gerrson.

      Data/hora atual: 16/10/2021, 22:14