By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,395 Members | 1,391 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,395 IT Pros & Developers. It's quick & easy.

Edit Textbox using KeyPress vba code in Access

P: n/a
Hello,
I am trying to edit a textbox which contains a number. When focus is
on the textbox, and a user press the "arrow up", I would like the
textbox value to increase of 100, and at the opposite when the user
press "arrow down", I would like this value to decrease by 100.
For the moment I have done that using the "keypress" event, but I have
a problem, as this event reacts to any key of the keyboard.
So I would need whether another idea to proceed or a way to qualify
the key which is being pressed as the "arrow up" or "down", then I
could use a conditional phrase.
Thank you for your help.
ar**********@hotmail.com
Nov 12 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a

"Arno" <ar**********@hotmail.com> wrote in message
news:40**************************@posting.google.c om...
Hello,
I am trying to edit a textbox which contains a number. When focus is
on the textbox, and a user press the "arrow up", I would like the
textbox value to increase of 100, and at the opposite when the user
press "arrow down", I would like this value to decrease by 100.
For the moment I have done that using the "keypress" event, but I have
a problem, as this event reacts to any key of the keyboard.
So I would need whether another idea to proceed or a way to qualify
the key which is being pressed as the "arrow up" or "down", then I
could use a conditional phrase.
Thank you for your help.
ar**********@hotmail.com


Keypress only returns ASCII codes, you need
to use the keydown function which returns the
code of the key pressed.

Addin the following sub to a text box will display
the value returned by the key pressed and
allow you to chose what action to take

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
TextBox1.Text = "Key pressed was " & KeyCode
End Sub

The down Arrow returns 40, up arrow returns 38,
left arrow 27 and right arrow 39

Keith
Nov 12 '05 #2

P: n/a
Arno,

Try the KeyDown event. For instance

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

Select Case KeyCode
Case Is = vbKeyUp
If TextBox1.Value = "" Then
TextBox1.Value = 100
Else
TextBox1.Value = TextBox1.Value + 100
End If
KeyCode = 0
Case Is = vbKeyDown
If TextBox1.Value <= 101 Or TextBox1.Value = "" Then
TextBox1.Value = ""
Else
TextBox1.Value = TextBox1.Value - 100
End If
KeyCode = 0
End Select

End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Arno" <ar**********@hotmail.com> wrote in message
news:40**************************@posting.google.c om...
Hello,
I am trying to edit a textbox which contains a number. When focus is
on the textbox, and a user press the "arrow up", I would like the
textbox value to increase of 100, and at the opposite when the user
press "arrow down", I would like this value to decrease by 100.
For the moment I have done that using the "keypress" event, but I have
a problem, as this event reacts to any key of the keyboard.
So I would need whether another idea to proceed or a way to qualify
the key which is being pressed as the "arrow up" or "down", then I
could use a conditional phrase.
Thank you for your help.
ar**********@hotmail.com

Nov 12 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.