Edson_csi Postado Abril 21, 2008 Denunciar Share Postado Abril 21, 2008 Bom dia!Estou usando um código de auto-completar os registros em uma combobox, só que ao começar digitar a 1ª letra ela dá o seguinte erro:Compile error:Sub or Function not definedOs código que estou usando são esses:Esse é para auto completar (O erro acusa nesse código).Private Sub cboNome_KeyPress(KeyAscii As Integer)KeyAscii = Combo_AutoCompletar(cboNome, KeyAscii)End SubEsse é para buscar os dados de outro form (Este está tudo certo).Private Sub Form_Load()DadosDadosP.RefreshDadosDadosP.Recordset.MoveFirstDo While DadosDadosP.Recordset.EOF = FalsecboNome.AddItem DadosDadosP.Recordset.Fields("Nome")DadosDadosP.Recordset.MoveNextLoopEnd Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 webdeveloper Postado Abril 21, 2008 Denunciar Share Postado Abril 21, 2008 Dá uma olhada na função Combo_AutoCompletar.Eu uso a função abaixo para fazer isso.Private Sub Combo_Box(Combo As Control, KeyAscii As Integer) Dim CB As Long Dim FindString As String Const CB_ERR = (-1) Const CB_FINDSTRING = &H14C If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub If Combo.SelLength = 0 Then FindString = Combo.Text & Chr$(KeyAscii) Else FindString = Left$(Combo.Text, Combo.SelStart) & Chr$(KeyAscii) End If CB = SendMessage(Combo.hWnd, CB_FINDSTRING, -1, ByVal FindString) If CB <> CB_ERR Then Combo.ListIndex = CB Combo.SelStart = Len(FindString) Combo.SelLength = Len(Combo.Text) - Combo.SelStart End If KeyAscii = 0 End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Edson_csi Postado Abril 22, 2008 Autor Denunciar Share Postado Abril 22, 2008 Dá uma olhada na função Combo_AutoCompletar.Eu uso a função abaixo para fazer isso.Private Sub Combo_Box(Combo As Control, KeyAscii As Integer) Dim CB As Long Dim FindString As String Const CB_ERR = (-1) Const CB_FINDSTRING = &H14C If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub If Combo.SelLength = 0 Then FindString = Combo.Text & Chr$(KeyAscii) Else FindString = Left$(Combo.Text, Combo.SelStart) & Chr$(KeyAscii) End If CB = SendMessage(Combo.hWnd, CB_FINDSTRING, -1, ByVal FindString) If CB <> CB_ERR Then Combo.ListIndex = CB Combo.SelStart = Len(FindString) Combo.SelLength = Len(Combo.Text) - Combo.SelStart End If KeyAscii = 0 End SubVou tentar aqui e posto se deu certo!Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Edson_csi
Bom dia!
Estou usando um código de auto-completar os registros em uma combobox, só que ao começar digitar a 1ª letra ela dá o seguinte erro:
Compile error:
Sub or Function not defined
Os código que estou usando são esses:
Esse é para auto completar (O erro acusa nesse código).
Private Sub cboNome_KeyPress(KeyAscii As Integer)
KeyAscii = Combo_AutoCompletar(cboNome, KeyAscii)
End Sub
Esse é para buscar os dados de outro form (Este está tudo certo).
Private Sub Form_Load()
DadosDadosP.Refresh
DadosDadosP.Recordset.MoveFirst
Do While DadosDadosP.Recordset.EOF = False
cboNome.AddItem DadosDadosP.Recordset.Fields("Nome")
DadosDadosP.Recordset.MoveNext
Loop
End Sub
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.