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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Busca automatica
Rogerio
não registrado
Postada em 02/03/2007 07:05 hs   
Uso o VB 6.0, DAO 3.6, e acess 2000. quero fazer uma busca automatica no textbox. à medida que eu digitar no txtNome, o nome do cliente aparecer no proprio txtNome ou entoa numa lista para depois eu clicar e aparecer na tela todas informaçoes do cliente. Utilizei esta rotina fornecida no forum por um colega nosso, esta rotina porem deu erro na linha. o que será que deu errado , agradeço desde ja, Rogerio.
Private Sub Tpes_KeyPress(KeyAscii As Integer)
Dim busca
busca = Tpes.Text
KeyAscii = Asc(UCase(Chr(KeyAscii))) ' transforma para letras maiuslas
If KeyAscii = 13 Then
If busca = Empty Then
Exit Sub
End If
(DEU ERRO NESTA LINHA AQUI, dizendo objeto requerido) DtaDBcli.RecordSource = "select*from Tabcliente where NomeCli like'" & busca & " '" '"*' "   busca tudo que tiver a mesma letra inicial
DtaDBcli.Refresh
If Tnm = "" Then
MsgBox "Cliente Não Encontrado!"
DtaDBcli.RecordSource = "select*from Tabcliente order by NomeCli"
DtaDBcli.Refresh
End If
KeyAscii = 0
End If
End Sub
 
     
Carlos Alberto
não registrado
ENUNCIADA !
Postada em 02/03/2007 10:00 hs   
O que vc pode fazer e o seguinte se vc quiser fazer essa busca a cada letra que digitar vc faz no seu keypress uma SQL que busque no seu banco de dados...se for uma SQL pequena nao vai ter problema de performace...A cada vez que vc digitar vc roda uma sql e joga pra onde vc quiser...Pelo o que estou vendo ai em cima ele esta fazendo isso so quando aperta ENTER...

um abraço qualquer duvida manda um e-mail
   
Rogerio
não registrado
ENUNCIADA !
Postada em 03/03/2007 01:46 hs   
Carlos Alberto, É exatamente istoque vc falou que eu estou querendo, pois vi num programa executável já pronto esta maneira mesmo, só nao acertei fazer ainda, se vc tiver algum site com alguma dica ou apostila, me forneça paraa eu estudar a situação, obrigado mesmo. Rogério
   
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 05/03/2007 22:14 hs         
Cara tente algo +- assim
Data1.RecordSource = "select ID, Nome, Usuario from " & _
      "usuarios where Nome like '" & Trim$(txtDescricao) & "*'"
   
Rogério
não registrado
Postada em 06/03/2007 05:08 hs   
AMA, obrigado pela dica, mas continua dando o mesmo erro. O que vc chamou de "Data1" é o recordset? pois eu coloquei dim rsAtendimentos as recordset, e fiz rsAtendimentos.RecordSouce, e deu erro, Nao sei como faz a chamada em SQL
     
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 06/03/2007 12:36 hs            
Uso um combobox para isso, em vez de textbox. Alimento o combo no Load do Form (ou use uma rotina separada, se precisar).

O combobox deve ser setado com a propriedade Style = 1, que ele fica com a aparência de textbox (sem a setinha para abrir)


Coloque no módulo:


Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Const CB_ERR = -1
Public Const CB_FINDSTRING = &H14C

Public Sub AutoMatch(cbo As ComboBox, KeyAscii As Integer)
Dim sBuffer As String
Dim lRetVal As Long
sBuffer = Left(cbo.Text, cbo.SelStart) & Chr(KeyAscii)
lRetVal = SendMessage((cbo.hwnd), CB_FINDSTRING, -1, ByVal sBuffer)
If lRetVal <> CB_ERR Then
    cbo.ListIndex = lRetVal
    cbo.Text = cbo.List(lRetVal)
    cbo.SelStart = Len(sBuffer)
    cbo.SelLength = Len(cbo.Text)
    KeyAscii = 0
End If

End Sub

E no form:

No evento Keypress fica assim:

AutoMatch NOMEDACOMBO, Keyascii, como no exemplo abaixo:

Private Sub cboResp_KeyPress(KeyAscii As Integer)
  AutoMatch cboResp, KeyAscii
End Sub

Não tem erro. Uso há anos.

   
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