AJUDA EM PESQUISA
bom dia, mais uma vez eu aqui. kkk
eu tenho o seguinte bloco de código que é responsável por realizar uma pesquisa dinâmica exibindo os resultado em tela conforme o usuário vai digitando no campo (textbox) o que deseja pesquisar.
If txtConsulta.Text = [Ô][Ô] Then
Preenche_List
Exit Sub
End If
lstConsulta.ListItems.Clear
Set oConCadC = New ADODB.Connection
oConCadC.ConnectionString = Init.vStrConSQLServer
oConCadC.Open
Set oRecCadC = New ADODB.Recordset
vStrSql = [Ô]Select * From ger105 Order By controle[Ô]
oRecCadC.Open vStrSql, oConCadC, adOpenDynamic, adLockReadOnly
Do While Not oRecCadC.EOF
If Mid(StrConv(txtConsulta.Text, vbUpperCase), 1, Len(txtConsulta.Text)) = Mid(StrConv(oRecCadC.Fields([Ô]nome[Ô]), vbUpperCase), 1, Len(txtConsulta.Text)) Then
Set lst = lstConsulta.ListItems.Add
With lst
.Text = oRecCadC.Fields([Ô]controle[Ô])
.SubItems(1) = oRecCadC.Fields([Ô]numnota[Ô])
.SubItems(2) = oRecCadC.Fields([Ô]nome[Ô])
.SubItems(3) = oRecCadC.Fields([Ô]status[Ô])
.SubItems(4) = oRecCadC.Fields([Ô]descricao[Ô])
.SubItems(5) = oRecCadC.Fields([Ô]dataentrada[Ô])
.SubItems(6) = Format(oRecCadC.Fields([Ô]valortotalnota[Ô]).value, [Ô]Currency[Ô])
End With
End If
oRecCadC.MoveNext
Loop
[ô] Fecha as conexões aberta com a base de dados
Call fechaObjetoConnection(oConCadC)
Call fechaObjetoRecordset(oRecCadC)
Lembrando que os resultados são exibidos em um ListView e o que interessa é digitado em um textbox na propriedade KeyUp.
Minha dúvida é o seguinte eu gostaria de saber se é possÃvel, quando nenhum dado da pesquisa corresponder ao que o usuário digitar, exibir uma mensagem advertindo o usuário.
Já tentei de diversas formas, porém, nenhuma com resultado esperado.
Obrigado. Desde já agradeço a boa vontade de vocês em compartilhar o conhecimento.
Att. Azor Freire.[txt-color=#e80000] [/txt-color]
eu tenho o seguinte bloco de código que é responsável por realizar uma pesquisa dinâmica exibindo os resultado em tela conforme o usuário vai digitando no campo (textbox) o que deseja pesquisar.
If txtConsulta.Text = [Ô][Ô] Then
Preenche_List
Exit Sub
End If
lstConsulta.ListItems.Clear
Set oConCadC = New ADODB.Connection
oConCadC.ConnectionString = Init.vStrConSQLServer
oConCadC.Open
Set oRecCadC = New ADODB.Recordset
vStrSql = [Ô]Select * From ger105 Order By controle[Ô]
oRecCadC.Open vStrSql, oConCadC, adOpenDynamic, adLockReadOnly
Do While Not oRecCadC.EOF
If Mid(StrConv(txtConsulta.Text, vbUpperCase), 1, Len(txtConsulta.Text)) = Mid(StrConv(oRecCadC.Fields([Ô]nome[Ô]), vbUpperCase), 1, Len(txtConsulta.Text)) Then
Set lst = lstConsulta.ListItems.Add
With lst
.Text = oRecCadC.Fields([Ô]controle[Ô])
.SubItems(1) = oRecCadC.Fields([Ô]numnota[Ô])
.SubItems(2) = oRecCadC.Fields([Ô]nome[Ô])
.SubItems(3) = oRecCadC.Fields([Ô]status[Ô])
.SubItems(4) = oRecCadC.Fields([Ô]descricao[Ô])
.SubItems(5) = oRecCadC.Fields([Ô]dataentrada[Ô])
.SubItems(6) = Format(oRecCadC.Fields([Ô]valortotalnota[Ô]).value, [Ô]Currency[Ô])
End With
End If
oRecCadC.MoveNext
Loop
[ô] Fecha as conexões aberta com a base de dados
Call fechaObjetoConnection(oConCadC)
Call fechaObjetoRecordset(oRecCadC)
Lembrando que os resultados são exibidos em um ListView e o que interessa é digitado em um textbox na propriedade KeyUp.
Minha dúvida é o seguinte eu gostaria de saber se é possÃvel, quando nenhum dado da pesquisa corresponder ao que o usuário digitar, exibir uma mensagem advertindo o usuário.
Já tentei de diversas formas, porém, nenhuma com resultado esperado.
Obrigado. Desde já agradeço a boa vontade de vocês em compartilhar o conhecimento.
Att. Azor Freire.[txt-color=#e80000] [/txt-color]
Azorsca, geralmente quando vc digita e nada é encontrado o listview fica em branco se isto acontece, então basta colocar um if para verificar quantas linhas tem no listview e exibir a mensagem, porém já advirto que vai encher o saco uma mensagem ficar pulando na tela sempre que pessoa digitar algo não existente.
Verdade Marcelo eu não havia pensado nesta possibilidade. E Realmente encherá o saco. Estarei finalizando o tópico. Obrigado por compartilhar a sua experiência.
Tópico encerrado , respostas não são mais permitidas