EXIBIR MAIS DE UM RESULTADO

MARIOANDRADE 16/02/2014 19:26:15
#434877
Meus amigos, eu utilizo o código abaixo para fazer uma busca pelo número do celular ou telefone, uma vez não encontrado o número em [Ô]CELULAR[Ô] ele busca em [Ô]TELEFONE[Ô] e vai até a última opção que é [Ô]CELULAR3[Ô], o problema é que as vezes ocorre que um mesmo número está cadastrado para mais de uma pessoa, exemplo, se dois clientes trabalham na mesma empresa então o mesmo número de trabalho será para os 2, mas só é exibido um registro na listview, será que tem como fazer com que a busca exiba todos os resultados?


Private Sub cmdLCel_Click()
Dim Item As ListItem
ListAlterar.ListItems.Clear
ConnectDB
rs.Open [Ô]Select * from tblCad where CELULAR like [ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3
Do Until (rs.EOF)
Set Item = ListAlterar.ListItems.Add(, , rs!cod)
Item.SubItems(1) = [Ô][Ô] & rs!Nome
Item.SubItems(2) = [Ô][Ô] & rs!CELULAR
Item.SubItems(3) = [Ô][Ô] & rs!TELEFONE
Item.SubItems(4) = [Ô][Ô] & rs!RECAD
Item.SubItems(5) = [Ô][Ô] & rs!CELULAR2
Item.SubItems(6) = [Ô][Ô] & rs!RECAD2
Item.SubItems(7) = [Ô][Ô] & rs!CELULAR3
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing

If ListAlterar.ListItems.Count = 0 Then

ConnectDB
rs.Open [Ô]Select * from tblCad where TELEFONE like [ô][Ô] & txtLCel.Text & [Ô]%[ô]order by COD[Ô], db, 3, 3
Do Until (rs.EOF)
Set Item = ListAlterar.ListItems.Add(, , rs!cod)
Item.SubItems(1) = [Ô][Ô] & rs!Nome
Item.SubItems(2) = [Ô][Ô] & rs!CELULAR
Item.SubItems(3) = [Ô][Ô] & rs!TELEFONE
Item.SubItems(4) = [Ô][Ô] & rs!RECAD
Item.SubItems(5) = [Ô][Ô] & rs!CELULAR2
Item.SubItems(6) = [Ô][Ô] & rs!RECAD2
Item.SubItems(7) = [Ô][Ô] & rs!CELULAR3
Item.SubItems(8) = [Ô][Ô] & rs!RECAD3
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End If

If ListAlterar.ListItems.Count = 0 Then

ConnectDB
rs.Open [Ô]Select * from tblCad where CELULAR2 like [ô][Ô] & txtLCel.Text & [Ô]%[ô]order by COD[Ô], db, 3, 3
Do Until (rs.EOF)
Set Item = ListAlterar.ListItems.Add(, , rs!cod)
Item.SubItems(1) = [Ô][Ô] & rs!Nome
Item.SubItems(2) = [Ô][Ô] & rs!CELULAR
Item.SubItems(3) = [Ô][Ô] & rs!TELEFONE
Item.SubItems(4) = [Ô][Ô] & rs!RECAD
Item.SubItems(5) = [Ô][Ô] & rs!CELULAR2
Item.SubItems(6) = [Ô][Ô] & rs!RECAD2
Item.SubItems(7) = [Ô][Ô] & rs!CELULAR3
Item.SubItems(8) = [Ô][Ô] & rs!RECAD3
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End If

If ListAlterar.ListItems.Count = 0 Then

ConnectDB
rs.Open [Ô]Select * from tblCad where CELULAR3 like [ô][Ô] & txtLCel.Text & [Ô]%[ô]order by COD[Ô], db, 3, 3
Do Until (rs.EOF)
Set Item = ListAlterar.ListItems.Add(, , rs!cod)
Item.SubItems(1) = [Ô][Ô] & rs!Nome
Item.SubItems(2) = [Ô][Ô] & rs!CELULAR
Item.SubItems(3) = [Ô][Ô] & rs!TELEFONE
Item.SubItems(4) = [Ô][Ô] & rs!RECAD
Item.SubItems(5) = [Ô][Ô] & rs!CELULAR2
Item.SubItems(6) = [Ô][Ô] & rs!RECAD2
Item.SubItems(7) = [Ô][Ô] & rs!CELULAR3
Item.SubItems(8) = [Ô][Ô] & rs!RECAD3
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End If
End Sub
OMAR2011 17/02/2014 00:09:48
#434883
Danada essa busca hein.
Não testei mas acho que vai dar certo.
rs.Open [Ô]Select * from tblCad where TELEFONE = [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR2 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR3 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3
MARIOANDRADE 17/02/2014 00:37:42
#434884
Citação:

:
Danada essa busca hein.
Não testei mas acho que vai dar certo.
rs.Open [Ô]Select * from tblCad where TELEFONE = [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR2 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR3 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3



Valeu Omar, vou testar amanha, ou melhor dizendo hoje a noite rs....
MARCELO.TREZE 17/02/2014 09:39:34
#434891
Resposta escolhida
O OMAR está certo quanto ao uso do OR, porém ele colocou a % em uma busca de =. você pode tentar tudo com LIKE, mas acho que a busca por um numero especifico se ria melhor.

usando o like

rs.Open [Ô]Select * from tblCad where TELEFONE LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR2 LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR3 LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3


numeros exatos

rs.Open [Ô]Select * from tblCad where TELEFONE = [ô][Ô] & txtLCel.Text & [Ô][ô] or CELULAR =[ô][Ô] & txtLCel.Text & [Ô][ô] or CELULAR2 =[ô][Ô] & txtLCel.Text & [Ô][ô] or CELULAR3 =[ô][Ô] & txtLCel.Text & [Ô][ô] order by COD[Ô], db, 3, 3


deois com apenas um loop vc vai conseguir exibir mais de um resultado.

Do Until (rs.EOF)
Set Item = ListAlterar.ListItems.Add(, , rs!cod)
Item.SubItems(1) = [Ô][Ô] & rs!Nome
Item.SubItems(2) = [Ô][Ô] & rs!CELULAR
Item.SubItems(3) = [Ô][Ô] & rs!TELEFONE
Item.SubItems(4) = [Ô][Ô] & rs!RECAD
Item.SubItems(5) = [Ô][Ô] & rs!CELULAR2
Item.SubItems(6) = [Ô][Ô] & rs!RECAD2
Item.SubItems(7) = [Ô][Ô] & rs!CELULAR3
Item.SubItems(8) = [Ô][Ô] & rs!RECAD3
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing
End If
End Sub
OMAR2011 17/02/2014 10:05:04
#434896
Não é porque enganei e sim erro de copiar e colar e mudar colocando Or.
Não atentei por esse detalhe.
Ainda bem que você corrigiu e não deixou passar.
Valeu Marcelo.
MARIOANDRADE 17/02/2014 21:06:20
#434937
Citação:

:

rs.Open [Ô]Select * from tblCad where TELEFONE LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR2 LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR3 LIKE [ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3



Marcelo, este ficou perfeito pois posso pesquisar por exemplo todos os clientes que tenham o numero começado por 88 ou 81.

Valeu mesmo....
MARIOANDRADE 17/02/2014 21:15:29
#434938
Citação:

:
Danada essa busca hein.
Não testei mas acho que vai dar certo.
rs.Open [Ô]Select * from tblCad where TELEFONE = [ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR2 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] or CELULAR3 =[ô][Ô] & txtLCel.Text & [Ô]%[ô] order by COD[Ô], db, 3, 3



Valeu a força Omar, consegui resolver tudo
Tópico encerrado , respostas não são mais permitidas