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]Percorrer registro por registro - Tabela

    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Percorrer registro por registro - Tabela Empty [Resolvido]Percorrer registro por registro - Tabela

    Mensagem  PauloMaia 12/2/2018, 15:06

    Como posso percorrer uma tabela registro por registro comparando um valor meu , com dois valores cadastrados nessa tabela ? para saber se meu valor se encaixa no intervalo de algum registro .

    Tabela... exemplo de um registro cadastrado === campo1 = valor registrado = 12659219 , e no campo2 = valor registrado = 12659238

    campo1 | campo2

    Meu valor...

    valor = 12659222

    Idéia

    If valor == esta dentro do intervalo entre campo1 e campo2 then

    ...

    eu preciso comparar meu valor lançado , com dois valores na tabela para descobrir a linha do registro .....

    talvez com um loop registro por registro ou de alguma outra forma ,  não estou conseguindo ...

    >>> deve me retornar o valor registrado no campo1 do registro encontrado ,  para eu usar esse valor do campo1 para uma consulta strSQL

    ASSIM SERIA UMA IDEIA , mas em Excel ....... preciso em Access - VBA
    Código:
    ComandoSQL = "select * from tabela_registor"
    Call Conecta
    Set consulta = banco.OpenRecordset(ComandoSQL)
    'On Error Resume Next

    While Not consulta.EOF
    If (MEU_VALOR >= consulta("CAMPO1") And (MEU_VALOR <= consulta("CAMPO2") Then
    MSGBOX "MEU VALOR DENTRO DO INTERVALO"

    End If
    consulta.MoveNext
    Wend
    Call Desconecta


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Percorrer registro por registro - Tabela Empty Re: [Resolvido]Percorrer registro por registro - Tabela

    Mensagem  PauloMaia 12/2/2018, 18:49

    Estou tentando assim

    Código:
       Dim Rs As DAO.Recordset
        
        Set Rs = CurrentDb.OpenRecordset("SELOSESTOQUE")
        
        NLancado = 12767357
        
        Do While Not Rs.EOF
            Teste = DLookup("[NumeroSelo]", "SELOSESTOQUE", "[NumeroSelo] <= " & NLancado & " And [SequencialFinal] >= " & NLancado & "")
            If Len(Teste) = 8 Then
                conta1 = Left(Teste, 5)
                conta2 = Left(NLancado, 5)
            End If
            If conta1 = conta2 Then
                MsgBox "Valor Encontrado = " & Teste
                Rs.Close
                Exit Sub
            End If
        Rs.MoveNext
        Loop
        Rs.Close
        MsgBox "Loop completado com sucesso."


    Pois a linha
    Teste = DLookup("[NumeroSelo]", "SELOSESTOQUE", "[NumeroSelo] <= " & NLancado & " And [SequencialFinal] >= " & NLancado & "")
    já retorna o que eu preciso ...  

    preciso ajustar o loop para verificar os registros ...

    pois ele não esta repetindo quando essa linha não satisfaz

    If conta1 = conta2 Then


    esta caindo em

    MsgBox "Loop completado com sucesso."

    mas parece não estar repetindo o loop nos registros seguintes


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Percorrer registro por registro - Tabela Empty Re: [Resolvido]Percorrer registro por registro - Tabela

    Mensagem  PauloMaia 12/2/2018, 21:04

    OK... RESOLVIDO...


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]Percorrer registro por registro - Tabela Empty Re: [Resolvido]Percorrer registro por registro - Tabela

    Mensagem  Alexandre Neves 12/2/2018, 21:11

    Boa noite,
    Será
    Código:
    Dim Rs As DAO.Recordset
       
        Set Rs = CurrentDb.OpenRecordset("SELOSESTOQUE")
       
        NLancado = 12767357
        conta2 = Left(NLancado, 5)
        Do While Not Rs.EOF
            if Rs("NumeroSelo") <= NLancado And Rs("SequencialFinal") >= NLancado Then
                Teste = Rs("NumeroSelo")
                If Len(Teste) = 8 Then
                    conta1 = Left(Teste, 5)
                    If conta1 = conta2 Then
                        MsgBox "Valor Encontrado = " & Teste
                        Rs.Close
                        Exit Sub
                    End If
                End If
            End If
            Rs.MoveNext
        Loop
        Rs.Close
        MsgBox "Loop completado com sucesso."


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]Percorrer registro por registro - Tabela Empty Re: [Resolvido]Percorrer registro por registro - Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 21:03