PESQUISA NO LISTBOX COM TEXTBOX
Citação:apesar de tanta duvida, vou ter que terminar meu projeto no vb6
é seguinte amigos estou fazendo um cadastro ao digitar o nome ele automaticamente seleciona na ListBox o nome digitado
ok,
ficou assim no textbox:
Private Sub txtNomeP_Change()
Dim SQL As String
Dim RS As Recordset
SQL = [Ô]SELECT NomeP, PacienteID FROM Cad_Paciente WHERE NomeP Like [ô][Ô] & txtNomeP.Text & [Ô]%[ô] Order BY NomeP[Ô]
Set RS = CnSql.Execute(SQL)
ListP.Clear
ListP.Visible = False
Do While Not RS.EOF
ListP.AddItem RS!NomeP
ListP.Visible = True
RS.MoveNext
Loop
End Sub
quando do um dblClick
no list
ele pega o item e carrega todos os textbox do meu form
Private Sub ListP_dblClick()
GBExcluir.Enabled = True
GBEnvelope.Enabled = True
GBImprimir.Enabled = True
GBSalvar.Enabled = True
GBNovo.Enabled = False
txtNomeP.Text = ListP.Text
ListP.Visible = False
If RS.State = 1 Then RS.Close
vOp = [Ô][Ô]
SQL = [Ô]SELECT * FROM Cad_Paciente WHERE NomeP Like [ô][Ô] & txtNomeP & [Ô]%[ô] Order BY NomeP[Ô]
RS.Open SQL, CnSql, adOpenKeyset, adLockPessimistic
txtPacienteID.Text = RS([Ô]PacienteID[Ô])
txtNomeP.Text = RS([Ô]NomeP[Ô])
txtEndeP.Text = RS([Ô]EndeP[Ô]) & [Ô][Ô]
End If
RS.Close
End Sub
Ok ate ai tudo bem
mais quando na tabela tem dois nomes iguais ex:
Nome ID
-------------------------------------
Marcos Paulo da Silva - 00100
Marcos Paulo da Silva - 00257
independente do qual for digitar ele semnpre pega o mesmo
Grato
O problema é que você carregou o LISTBOX somente com o NOME, e esqueceu do principal, que é o ID.
Faça o seguinte:
Para recuperar o identificador do cliente selecionado, recupere o valor armazenado na propriedade ITEMDATA.
Faça o seguinte:
[ô] Preencher o combo com o ID e o Nome do cliente
Do While Not RS.EOF
ListP.AddItem RS!NomeP
ListP.ItemData(ListP.NewIndex) = RS!ID
ListP.Visible = True
RS.MoveNext
Loop
Para recuperar o identificador do cliente selecionado, recupere o valor armazenado na propriedade ITEMDATA.
[ô] ID do cliente selecionado
IdDoCliente = ListP.ItemData(ListP.ListIndex)
TECLA estou usando um LISTBOX
vc não está pegando o da do list box, tente esta alteração
veja nesta linha
veja nesta linha
SQL = [Ô]SELECT * FROM Cad_Paciente WHERE NomeP Like [ô][Ô] & ListP.List(ListP.ListIndex) & [Ô]%[ô] Order BY NomeP[Ô]
achei o erro estava colocando NomeP Like =
SQL = [Ô]SELECT * FROM Cad_Paciente WHERE NomeP Like [ô][Ô] & txtNomeP & [Ô][ô][Ô]
apenas (=) <

valeu pessoal pela ajuda
Tópico encerrado , respostas não são mais permitidas