Há um tempo atras eu pedi um código para "auto completar" num TextBox e deu certinho, o projetinho já está funcionando belezinha, mas falta um detalhe, quando eu começo a digitar e se por acaso eu queira mudar/voltar algum caracter eu não consigo (ex BackSpace, tecla '<-'), ai eu tenho que apagar o conteúdo e começar tudo de novo.
O código que está em uso é este:
Dim Pos As Integer
If nommotos.SelStart = 0 Then Exit Sub
On Error Resume Next
'filtro para pesquisa de registros
Set mot = baseos.OpenRecordset("select top 1 nommot, codmot, modmot, plamot FROM mot WHERE nommot Like '" & Mid(nommotos.Text, 1, nommotos.SelStart) & "*' ORDER BY nommot Asc")
Set datamot.Recordset = mot
On Error GoTo verror
verror:
Select Case Err.Number
Case 3021 'tabela vazia
MsgBox "Não há motoqueiros com a(s) inicial(is) " & "'" & nommotos.Text & "'", 48, usuario
nommotos.Text = ""
veios.Text = ""
Case 0 'nenhum erro
Pos = nommotos.SelStart
With mot
codmotos.Text = !codmot
nommotos.Text = !nommot
veios.Text = IIf(IsNull(!modmot), "", !modmot) & ", " & IIf(IsNull(!plamot), "", !plamot)
End With
nommotos.SelStart = Pos
nommotos.SelLength = Len(nommotos)
nomclios.Enabled = True
End Select
eu preciso incrementar o programa, tendo a opção de usar a tecla BackSpace(<-) para alterar o conteúdo da TextBox, apagando caracter por caracter.
Estou usando o código
If KeyAscii = 8 Then
nommotos.Text = Left(nommotos.Text, Len(nommotos.Text) - 1) ' apaga o último caracter
End If
mas o efeito não é o esperado, apesar de apagar o último caracter cada vez que aciono a tecla BackSpace, o cursor fica no primeiro caracter e se o usuário não prestar atenção vai digitar na primeira casa da TextBox e uma nova pesquisa se inicia a partir do último caracter é digitado, a idéia é que o cursor fique após o último caracter e a pesquisa se desenvolva a partir do que foi digitado.
Pergunta
Lameira
Olá Galera do Bem!!!
Há um tempo atras eu pedi um código para "auto completar" num TextBox e deu certinho, o projetinho já está funcionando belezinha, mas falta um detalhe, quando eu começo a digitar e se por acaso eu queira mudar/voltar algum caracter eu não consigo (ex BackSpace, tecla '<-'), ai eu tenho que apagar o conteúdo e começar tudo de novo.
O código que está em uso é este:
eu preciso incrementar o programa, tendo a opção de usar a tecla BackSpace(<-) para alterar o conteúdo da TextBox, apagando caracter por caracter.
Estou usando o código
If KeyAscii = 8 Then
nommotos.Text = Left(nommotos.Text, Len(nommotos.Text) - 1) ' apaga o último caracter
End If
mas o efeito não é o esperado, apesar de apagar o último caracter cada vez que aciono a tecla BackSpace, o cursor fica no primeiro caracter e se o usuário não prestar atenção vai digitar na primeira casa da TextBox e uma nova pesquisa se inicia a partir do último caracter é digitado, a idéia é que o cursor fique após o último caracter e a pesquisa se desenvolva a partir do que foi digitado.
desde já eu agradeço
Lameira
Editado por LameiraAdicionar tag CODE
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.