EXIBIR MAIS DE UM RESULTADO
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
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
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
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....
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
numeros exatos
deois com apenas um loop vc vai conseguir exibir mais de um resultado.
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
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.
Não atentei por esse detalhe.
Ainda bem que você corrigiu e não deixou passar.
Valeu Marcelo.
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....
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