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


    [Resolvido]Pegar o segundo registro (Select Top 2)

    avatar
    Convidado
    Convidado


    [Resolvido]Pegar o segundo registro (Select Top 2) Empty Pegar o segundo registro (Select Top 2)

    Mensagem  Convidado 27/9/2013, 00:22


    Boa Noite !

    Preciso pegar o segundo registro em de campo baseado em uma condição.

    Sei que o select Top 2 traz os dois primeiros registro mas preciso somente do segundo .

    estou fazendo algo mais ou menos assim

    ...
    Set rst = CurrentDb.OpenRecordset("SELECT TOP 2 Acomp.Aco_Dt_Inicio FROM Tbl_Acompanhamento AS Acomp INNER JOIN Tbl_Manutencao ON Acomp.Man_ID = Tbl_.Man_ID WHERE [Acomp].[Man_ID]=" & Man_ID_Relatorio & " ORDER BY Acomp.ID_Acomp")
    DtPrimeiroEvento = rst(0)

    If (CDate(Txt_Editar_Inicio) < CDate(DtPrimeiroEvento)) Then
    ...Update.....


    é possivel ?

    Obrigado !
    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]Pegar o segundo registro (Select Top 2) Empty Re: [Resolvido]Pegar o segundo registro (Select Top 2)

    Mensagem  criquio 27/9/2013, 00:27

    Tente colocar um ORDER BY NomeDoCampo no fim para ordenar do menor para o maior e aí você faz:

    Código:
    rst.MoveFirst
    Me.NomeDoCampo = rst!NomeDoCampo


    .................................................................................
    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
    Convidado
    Convidado


    [Resolvido]Pegar o segundo registro (Select Top 2) Empty Re: [Resolvido]Pegar o segundo registro (Select Top 2)

    Mensagem  Convidado 27/9/2013, 02:42

    Muito Obrigado Criquio!

    Como sempre aprendendo muito com voce.

    Resolvi da seguinte maneira


    Código:
    Dim DtPrimeiroEvento As String   ' Na Tabela este campo é do tipo string
    Set rst = CurrentDb.OpenRecordset("SELECT TOP 2 Acomp.Aco_Dt_Inicio FROM Tbl_Acompanhamento AS Acomp INNER JOIN Tbl_Manutencao ON Acomp.Man_ID = Tbl_.Man_ID WHERE [Acomp].[Man_ID]=" & Man_ID_Relatorio & " ORDER BY Acomp.ID_Acomp")
    rst.MoveNext
    DtPrimeiroEvento = rst!Aco_Dt_Inicio
    Usei o rst.MoveNext ao inves de rst.MoveFirst e fiz os teste e funcionou perfeitamente.

    Obrigado !

    resolvido
    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]Pegar o segundo registro (Select Top 2) Empty Re: [Resolvido]Pegar o segundo registro (Select Top 2)

    Mensagem  criquio 27/9/2013, 13:02

    Você testou com o MoveFirst tambem? Acredito que nesse caso ele é mais garantido porque vai direto para o primeiro registro. Como o ORDER BY está classificando do menor para o maior, e você quer o menor dos dois, o primeiro registro é o pretendido. Com o MoveNext está funcionando porque ao abrir o Recordset ainda não foi selecionado o primeiro registro. Se por algum motivo esse primeiro registro tiver sido selecionado, o foco moverá para o próximo e aí vai ficar errado.

    É só uma dica que pode ser útil em alguns casos.


    .................................................................................
    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.


    Conteúdo patrocinado


    [Resolvido]Pegar o segundo registro (Select Top 2) Empty Re: [Resolvido]Pegar o segundo registro (Select Top 2)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 05:10