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


3 participantes

    [Resolvido]Ajuda com loop for next

    avatar
    geremias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda com loop for next Empty [Resolvido]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

    [Resolvido]Ajuda com loop for next Empty Re: [Resolvido]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 : 39
    Registrado : 14/03/2012

    [Resolvido]Ajuda com loop for next Empty Re: [Resolvido]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.
    avatar
    geremias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda com loop for next Empty Re: [Resolvido]Ajuda com loop for next

    Mensagem  geremias 28/3/2022, 18:34

    Caros amigos do Fórum,

    Como não obtive uma resposta satisfatória estou encerrando o tópico.

    Agradeço a todos que tentaram ajudar.

    Gerson.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Ajuda com loop for next Empty Re: [Resolvido]Ajuda com loop for next

    Mensagem  DamascenoJr. 29/3/2022, 03:08

    Bolei algo
    Código:
    Dim lngContador As Long
    Dim strTemp As String
    Dim strFinal As String
    Dim strCaractere As String
    Dim bytCor As Byte
    Dim strTextoPuro As String

    If Nz(Me!txtCampoTexto.Value) = "" Then Exit Sub
    strTextoPuro = Mid(Me!txtCampoTexto.Value, 6, Len(Me!txtCampoTexto.Value) - 11)
    If Len(strTextoPuro) = 1 Then Exit Sub

    bytCor = 1

    For lngContador = 1 To Len(strTextoPuro)

        strCaractere = Mid(strTextoPuro, lngContador, 1)
       
        If (strTemp = "") Or (strTemp = strCaractere) Then strTemp = strTemp & strCaractere
       
        If (lngContador = Len(strTextoPuro)) Or (strCaractere <> strTemp) Then
           
            If Len(strTemp) > 1 Then
                strFinal = strFinal & "<font color=" & Choose(bytCor, "red", "blue") & ">" & strTemp & "</font>"
                bytCor = IIf(bytCor = 1, 2, 1)
                strTemp = ""
            Else
                strFinal = strFinal & strTemp
                strTemp = strCaractere
            End If
           
        End If

    Next lngContador

    Me!txtCampoTexto.Value = strFinal


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    [Resolvido]Ajuda com loop for next Empty Re: [Resolvido]Ajuda com loop for next

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 03:49