BACKSPACE
bom dia, eu tenho o seguinte código para formatar como data um textbox:
If Len(txtdatacompra) = 2 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 4
End If
If Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 7
End If
If Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
End If
Oproblema é o seguinte, como eu posso fazer para que quando apertar a tecla backspace no teclado ele va me apagando o conteúdo do textbox ? Atualmente se eu aperto o backspace, ele me apaga somente os dois 4 ultimos caracteres, para conseguir apagar todos eu tenho que selecionar com o mouse todo o conteúdo do textbox....Obrigado..
If Len(txtdatacompra) = 2 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 4
End If
If Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 7
End If
If Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
End If
Oproblema é o seguinte, como eu posso fazer para que quando apertar a tecla backspace no teclado ele va me apagando o conteúdo do textbox ? Atualmente se eu aperto o backspace, ele me apaga somente os dois 4 ultimos caracteres, para conseguir apagar todos eu tenho que selecionar com o mouse todo o conteúdo do textbox....Obrigado..
Coloque esse seu código no evento KeyPress da caixa de texto e coloque esse código dentro do seguinte If:
If KeyAscii <> 9 Then
... seu código...
End If
If KeyAscii <> 9 Then
... seu código...
End If
Este codigo que eu postei acima esta dentro da opção change do textbox...
Coloque o código no evento CHANGE da caixa de texto...
(Faça algumas modificações no código)
Até breve!
(Faça algumas modificações no código)
If Len(txtdatacompra) = 2 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 4
elseif Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
txtdatacompra.SelStart = 7
elseif Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
proximocampotxt.setfocus
End If
Até breve!
outro problema que encontri no meu código é que quando se termina de digitar a data ao invés do cursor ficar atras do ultimo caracter digitado ele volta para o inicio do textbox, ou seja na frente do primeiro caracter...Alguém sabe o porque disso ?
No inicio do código faça
i = Textbox.selstart
e no final faça
Textbox.selstart = i
i = Textbox.selstart
e no final faça
Textbox.selstart = i
Eu faço assim:
If Len(txtdatacompra) = 2 Then
txtdatacompra = txtdatacompra & "/"
SendKeys "{End}"
elseif Len(txtdatacompra) = 5 Then
txtdatacompra = txtdatacompra & "/"
SendKeys "{End}"
elseif Len(txtdatacompra) = 8 Then
txtdatacompra = Format(txtdatacompra, "dd/mm/yyyy")
SendKeys "{End}"
proximocampotxt.setfocus
End If
Tópico encerrado , respostas não são mais permitidas