RECURSO AUTOCOMPLETAR NA COMBOBOX
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!!
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.
------------------------------------------------------------------------------------
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