RECURSO AUTOCOMPLETAR NA COMBOBOX

ANDREW 19/11/2004 00:02:34
#51024
Por favor, quero saber como faço que a combobox vinculada ao objeto Data tenha o recurso de Autocompletar...Se não for possível, me diga como faço de outra forma que ao selecionar o campo apareça outro campo respectivo em uma textbox.Exemplo: Uma lista de produtos da Tabela Produtos e ao selecionar um produto irá aparecer o preço numa textbox...muito obrigado pela atenção de todos!!
PAULOHSV 19/11/2004 07:22:10
#51038
Resposta escolhida
Private IgnorarListaClick As Boolean 'declaração
------------------------------------------------------------------------------------

Private Sub Combo1_KeyPress(KeyAscii As Integer)
'sistema de auto completar no combo box em tempo de execução
Dim BuscarCadena As String
Dim Retorno As Long

If KeyAscii = 13 Then
Combo1_Click
KeyAscii = 0
Else
BuscarCadena = Left$(Combo1.Text, Combo1.SelStart) & Chr$(KeyAscii)
Retorno = SendMessage(Combo1.hWnd, CB_FINDSTRING, -1, ByVal BuscarCadena)
If Retorno <> CB_ERR Then
IgnorarListaClick = True
Combo1.ListIndex = Retorno
IgnorarListaClick = False
Combo1.Text = Combo1.List(Retorno)
Combo1.SelStart = Len(BuscarCadena)
Combo1.SelLength = Len(Combo1.Text)
KeyAscii = 0
Adodc1.RecordSource = "SELECT * FROM tabela WHERE campo='" & Combo1.Text & "'"
Adodc1.Refresh
End If
End If
End Sub
----------------------------------------------------------------------------------------

Private Sub Form_Load()

'seleciona os dados
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM tabela;"
Adodc1.Refresh

'carrega valores no combo
For i = 1 To Adodc1.Recordset.RecordCount
Adodc1.Recordset.AbsolutePosition = i
Combo1.AddItem Adodc1.Recordset("campo")
Next i
End Sub

--------------------------------------------------------------------------------------------------
Private Sub Combo1_Click()
'seleciona os dados que estão listados no combo box
If Not IgnorarListaClick Then
Adodc1.RecordSource = "SELECT * FROM resultados WHERE Nome='" & Combo1.Text & "'"
Adodc1.Refresh
End If
End Sub

Este tipo de consulta é usando o ADO.
Tópico encerrado , respostas não são mais permitidas