USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Seek
JOM
BOM JESUS DA LAPA
BA - BRASIL
Postada em 12/06/2007 01:04 hs            
Se alguem puder me dizer como utilizar o metodo Seek, a tempos que tento, tenho uma tabela com indice definido e gostaria de localizar um registro especifico, sei que o melhor caminho é o seek, porém peno até hoje tentando. Se possivel insira o código usando os nomes genéricos: tabelatal, campotal...
Obrigado pela atenção pessoal.
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 12/06/2007 04:54 hs            
JOM, o comando Seek só funciona sobre conexão em Tabelas, não funciona com Dynaset e Snapshop, faça a sua abertura, e depois use desta forma:
rsTABELA.Index = "NOMEDOINDICE"
rsTABELA.Seek"=", txtTEXTO1.Text
If rsTABELA.Eof     ' ou If rsTABELA.NoMatch Then 
     Não encontrou
Else
     Encontrou
End If
Desta forma, o nome do indice, tem que ser o nome que voce deu ao campo indexado, se voce não mudou, o nome é o mesmo do campo.
O txtTEXTO1.Text, deve conter o valor que está procurando, vale para qualquer tipo de dados.
Pode ser usado Text, Combo, variavel, qualquer dado na procura.
O Seek, se houver valores duplicados ele só encontra o primeiro valor, ignora o restante, ai voce faz um Loop pela Tabela para verificar mais valores.
Se necessitar de todos os valores iguais, use o Find, mas só funciona sobre Dynaset, não funciona em Tabelas.
Uso muito o Seek, efetua buscas com muita rapidez, quase imperceptivel, independente do tamanho das Tabelas, se houver dúvidas, poste.
 
vlu//
   
JOM
BOM JESUS DA LAPA
BA - BRASIL
Postada em 12/06/2007 13:52 hs            
Cara, acredita que ainda não consegui?, parece ser tão fácil, não sei o que pode estar acontecendo, ponho instruções SQL restringindo dados de inúmeras formas, faço outras buscas, mas esta que eu queria por buscar um item especifico não consigo.
Uma forma seria pegar uma das instruções que uso de SQL, porém tendo que usar uma variável dentro dela e ai a coisa complica mais um pouco, veja:
 
Dim ordem
ordem = "(" & "Select * from dados where saldo <> 0 order by cheque asc" & ")"
Adodc1.RecordSource = (ordem)
Adodc1.Refresh
 
Nesta instrução eu obtenho os cheques pre datados que ainda não foram baixados, ou seja, saldo diferente de zero e por ordem numerica
mas o que gostaria mesmo é de buscar um cheque por seu número, que é único, e por sinal é meu indice na tabela.
tem alguma sugestão? te agradeço de antemão o empenho em me ajudar
     
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
Postada em 18/06/2007 15:10 hs            
http://www.vbweb.com.br/dicas_visual.asp?Codigo=707&Classificacao=

Esse foi a dica que coloquei sobre a busca com o seek, más pelo que sei ele não funciona com o sql, funciona com o DAO( não sei se funciona com o ADO ), pois no sql basta você mandar procurar o que deseja, depois verificar se o recordcount dele está zerado
No seu caso:
Dim ordem
ordem = "(" & "Select * from dados where saldo <> 0 order by cheque asc" & ")"
Adodc1.RecordSource = (ordem)
Adodc1.Refresh
if adodc1.recordcount=0 then
  msgbox " registro não encontrado "
else
  seus comandos
endif

Abraço e que DEUS te abençõe, espero poder ter te ajudado
Eu sou o Senhor, o DEUS de vocês;
eu os seguro pela mão e lhes digo;
Não fiquem com medo, pois eu os ajudo
Isaias 41:13
     
Jayme
não registrado
Postada em 20/06/2007 11:07 hs   
Olá Jom,
 
Se você estiver uso o ADO o Seek não funciona.
 
A forma correta é esta:
 
If RS.RecordCount <> 0 Then
  RS.MoveMin
  RS.Find "Codigo = '" & Txt_Codiog.Text & "'"
  If RS.EOF Then
    MsgBox "Código não registrado !", vbOKOnly, "Atenção"
  Else
    MsgBox "O código existe !", vbOKOnly, "Atenção"
  End If
Endif
 
Jayme
     
Jayme
não registrado
Postada em 20/06/2007 11:09 hs   
Desculpe-me
 
Ao invés de RS.MoveMin o correto é:
 
RS.MoveMin
 
Jayme
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página