Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Retornar últimos valores inseridos

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

wfranca
Colaborador
Colaborador
Mensagens: 38
Registrado em: Qua Set 11, 2013 11:44 am

Retornar últimos valores inseridos

Mensagem por wfranca »

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: "teste1"

me retorno os valores:

Textbox1 = ABC6
Textbox2 = ABC5
Textbox3 = ABC4






Código: Selecionar todos

' 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



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Retornar últimos valores inseridos

Mensagem por Mikel Silveira Fraga »

WFranca, boa noite.

Tente substituir a linha abaixo:

Código: Selecionar todos

ComandoSQL = "select * from TB_Valores where Material_Desc like '*" & valor_pesq & "*' "
Pelo seguinte código:

Código: Selecionar todos

ComandoSQL = "select top 3 * from TB_Valores where Material_Desc like '*" & valor_pesq & "*' " order by Código desc
Dessa forma, deve retornar apenas os três últimos, baseado na coluna Código.

Dúvidas, a disposição.


wfranca
Colaborador
Colaborador
Mensagens: 38
Registrado em: Qua Set 11, 2013 11:44 am

Re: Retornar últimos valores inseridos

Mensagem por wfranca »

Mikel, fiz a alteração mas não tive resultado.

teria algum detalha a mais?


wfranca
Colaborador
Colaborador
Mensagens: 38
Registrado em: Qua Set 11, 2013 11:44 am

Re: Retornar últimos valores inseridos

Mensagem por wfranca »

Seria algo parecido com isso. Mas não consegui adaptar.

https://social.msdn.microsoft.com/Forum ... ?forum=520


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Retornar últimos valores inseridos

Mensagem por Mikel Silveira Fraga »

WFranca, bom dia.

Eu testei isso diretamente no Access e funcionou. Você esta se conectando a um arquivo do Access ou uma segunda planilha do Excel?

Teria como disponibilizar seu modelo, pra podermos dar uma olhada melhor?

Aguardo retorno.


wfranca
Colaborador
Colaborador
Mensagens: 38
Registrado em: Qua Set 11, 2013 11:44 am

Re: Retornar últimos valores inseridos

Mensagem por wfranca »

Mikel, tentei realizar a alteração mas não consegui.


Tenho no BD materiais que cadastro.
ao consultar esses materiais quero que me retorne o ID dos últimos 3 que foram cadastrados. Com o código que estou usando o valor a ser retornado é apenas do ultimo.

anexei o arquivo junto com o BD para melhor entendimento.
Anexos
TESTE1.zip
(19.77 KiB) Baixado 334 vezes
image2.png
image2.png (14.47 KiB) Exibido 7449 vezes
image1.jpg
image1.jpg (18.46 KiB) Exibido 7449 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Retornar últimos valores inseridos

Mensagem por Mikel Silveira Fraga »

WFranca, boa tarde.

O arquivo do Access veio em um formato corrompido, o qual não consigo acessar para testar diretamente no Access e, posteriormente, com a integração do Excel.

Favor verificar.


wfranca
Colaborador
Colaborador
Mensagens: 38
Registrado em: Qua Set 11, 2013 11:44 am

Re: Retornar últimos valores inseridos

Mensagem por wfranca »

Desculpe Mikel

segue.
Anexos
Testee.zip
(25.46 KiB) Baixado 303 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Retornar últimos valores inseridos

Mensagem por Mikel Silveira Fraga »

WFranca, boa noite.

Cara, fiz as seguintes alterações:
1ª) A consulta SELECT
- De:

Código: Selecionar todos

ComandoSQL = "SELECT id FROM TB_valores where Material_Desc ORDER BY id DESC "
- Para:

Código: Selecionar todos

ComandoSQL = "SELECT TOP 3 id FROM TB_valores WHERE Material_Desc = "teste1" ORDER BY id DESC;"
2ª) Retorno do resultado para os TextBox´s
- De:

Código: Selecionar todos

  Me.TextBox1 = consulta("ID")
  Me.TextBox2 = consulta("ID")
  Me.TextBox3 = consulta("ID")
- Para:

Código: Selecionar todos

  Me.TextBox1 = consulta("ID")
  consulta.MoveNext
  Me.TextBox2 = consulta("ID")
  consulta.MoveNext
  Me.TextBox3 = consulta("ID")
Fiz os testes aqui e funcionou perfeitamente. Teste e nos retorne o resultado.

Abraços e bom descanso.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder