none
Consultar últimos registros RRS feed

  • Discussão Geral

  • Tenho o seguinte código que me faz a consulta e me retorna o valor inserido com base na minha pesquisa.

    O meu problema é o seguinte:

    eu tenho na minha tabela os seguintes valores:

    Descrição -- Código ---- ID
    teste1 - - ABC1 ---- 1
    teste2 - - ABC2 ---- 2 
    teste3 - - ABC3 ----- 3
    teste1 - - ABC4 ---- 4
    teste1 - - ABC5 ----- 5
    teste1 - - ABC6 ----- 6


    O que eu preciso é que com base no meu código de busca, adaptar para que ele me retorne os 3 últimos valores lançados na tabela de acordo com minha descrição.


    Nesse caso ficaria assim:
    Ao realizar a pesquisa da descrição: "teste1"

    me retorno os valores:

    Textbox1 = ABC6
    Textbox2 = ABC5
    Textbox3 = ABC4

    ' Dim valor_pesq As String
     Dim ComandoSQL As String
        
        valor_pesq = Me.cmb_material
                                                        
       ComandoSQL = "select * from TB_Valores where Material_Desc like '*" & valor_pesq & "*' "
      '
        
        
        'Chama a rotina que faz a conexão com o BD
        Call Conecta
        
        'Atribui a variável objeto de BD a execução dos comandos SQL
        Set consulta = banco.OpenRecordset(ComandoSQL)
        
        'Tratamento de erro de acesso aos dados. Se houver erro, desvia o comando para o rótulo Sai
        On Error Resume Next
                  
        
        'Tratamento de erro de acesso aos dados. Se houver erro, desvia o comando para o rótulo Sai
    '    On Error GoTo sai
     
       
       
       Me.txt_DI = consulta("DI")
       
       txt_custo_forn1 = consulta("Valor_Unit") & ""
       
       
          consulta.Update
           
        Call Desconecta
    End Sub


    Eu até consegui fazer a consulta na tabela, mas não sei como buscar os últimos 3 valores e jogar para as textbox


    quarta-feira, 27 de setembro de 2017 23:59

Todas as Respostas

  • Boa tarde,

    Uma opção seria você filtrar a consulta pelo "teste1" ordenando de forma decrescente pegando apenas os tres primeiros registros:

    select TOP(3) *
    from TB_Valores 
    where Descricao like 'teste1'
    order by ID 

    Espero ter ajudado!

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    quinta-feira, 28 de setembro de 2017 16:49