AUTOCOMPLETAR COM DUAS COLUNAS NUMA TEXTBOX

FREISALMEIDA 28/05/2015 18:14:21
#447145
Pessoal,

Estou fazendo um cadastro de Clientes, onde o Nome do Cliente está com a propriedade autocompletar.
Concatenei o Nome e o Endereço para saber se por exemplo posso cadastrar mais uma filial desse cliente.

O que ocorre, é que se clico em um dos clientes que aparece na lista, na textbox fica o endereço também.

Tem como fazer o que quero aparecendo somente o nome do cliente, como em uma combobox quando adidionamos colunas?

outra coisa, estou usando uma base de dados SQL com Ado.net

Se puderem ajudar agradeço muito.

Abraços
TUNUSAT 29/05/2015 07:58:51
#447159
Resposta escolhida
FREISALMEIDA,

Você criou baseado em um [Ô]DataSource[Ô] ou uma [Ô]List[Ô]?
Na URL da [Ô]Code Project[Ô], abaixo apareceu um comentário do ponto que um item é pego na lista.

Citação:

[ô]Get the Item from the list (Return Type depends if Datasource was bound
[ô] or List Created)


=========================================================
AutoComplete ComboBox in VB.Net
http://www.codeproject.com/Articles/2162/AutoComplete-ComboBox-in-VB-Net
=========================================================

Se você criou um [Ô]DataSource[Ô] então precisa retirar os campos da query que não te interessam.
Por exemplo:

SELECT *
FROM SUATABELA

A [ô]*[ô] irá selecionar todos os campos. Se você colocar somente o campo do nome do cliente, então só vai aparecer ele.

Ajudou?

[][ô]s,
Tunusat.
FREISALMEIDA 29/05/2015 09:13:42
#447160
Citação:

:
FREISALMEIDA,

Você criou baseado em um [Ô]DataSource[Ô] ou uma [Ô]List[Ô]?
Na URL da [Ô]Code Project[Ô], abaixo apareceu um comentário do ponto que um item é pego na lista.

[ô]Get the Item from the list (Return Type depends if Datasource was bound
[ô] or List Created)
=========================================================
AutoComplete ComboBox in VB.Net
http://www.codeproject.com/Articles/2162/AutoComplete-ComboBox-in-VB-Net
=========================================================

Se você criou um [Ô]DataSource[Ô] então precisa retirar os campos da query que não te interessam.
Por exemplo:

SELECT *
FROM SUATABELA

A [ô]*[ô] irá selecionar todos os campos. Se você colocar somente o campo do nome do cliente, então só vai aparecer ele.

Ajudou?

[][ô]s,
Tunusat.


Tunusat,

segue abaixo o código para dar uma olhada:
s = [Ô]Select ENTIDADE, ENDERECO, APELIDO from Entidades[Ô]
rsEnt = New ADODB.Recordset
rsEnt.Open(s, x.conn, 1, 2)
Try
rsEnt.MoveFirst()
Dim aEntidade As String
Dim aEndereco As String
Dim aApelido As String
Do While rsEnt.EOF = False
aEntidade = RTrim(rsEnt.Fields([Ô]ENTIDADE[Ô]).Value)
aEndereco = RTrim(rsEnt.Fields([Ô]ENDERECO[Ô]).Value)
aApelido = RTrim(rsEnt.Fields([Ô]APELIDO[Ô]).Value)
txtEntidade.AutoCompleteCustomSource.Add(aEntidade & [Ô] | [Ô] & aEndereco & [Ô] | [Ô] & aApelido)
rsEnt.MoveNext()
Loop
Catch ex As Exception
x.Desconectar()
Exit Sub
End Try

A única coisa que quero quando escolher a Entidade da Lista que apareça no textbox somente a entidade e não o endereço e apelido.

Será que tem como?

Obrigado pela resposta.
TUNUSAT 29/05/2015 17:01:07
#447193
Mas FREISALMEIDA,

O [Ô]AutoCompleteCustomSource[Ô] está incluíndo a [Ô]Entidade, o [Ô]Endereço[Ô] e o [Ô]Apelido[Ô]:
txtEntidade.AutoCompleteCustomSource.Add(aEntidade & [Ô]  |  [Ô] & aEndereco & [Ô]  |  [Ô] & aApelido)


Não seria o caso de deixar somente a [Ô]Entidade[Ô]?

O Select também:
[Ô]Select ENTIDADE, ENDERECO, APELIDO from Entidades[Ô]


Você pode tirar o [Ô]Endereço[Ô] e o [Ô]Apelido[Ô]? Se SIM, ficaria assim:
[Ô]Select ENTIDADE from Entidades[Ô]


Daí no código é preciso retirar todas as referências de Endereço e Apelido ... ficaria assim:

s = [Ô]Select ENTIDADE from Entidades[Ô]
rsEnt = New ADODB.Recordset
rsEnt.Open(s, x.conn, 1, 2)
Try
rsEnt.MoveFirst()
Dim aEntidade As String
Do While rsEnt.EOF = False
aEntidade = RTrim(rsEnt.Fields([Ô]ENTIDADE[Ô]).Value)
txtEntidade.AutoCompleteCustomSource.Add(aEntidade)
rsEnt.MoveNext()
Loop
Catch ex As Exception
x.Desconectar()
Exit Sub
End Try


é isso?

[][ô]s,
Tunusat.
Tópico encerrado , respostas não são mais permitidas