Ms access 访问VBA按键

Ms access 访问VBA按键,ms-access,vba,Ms Access,Vba,当我的光标在文本框上,按下“+”按钮时,该文本框的值必须上升1 所以我尝试使用MouseMove,但问题是我不能使用OnkeyPress函数中的keyscii函数 If KeyAscii = vbKeyL Then Stock.Value = Stock.Value + 1 End If 如果你有任何想法,你可以免费发布! 提前打电话。怎么样 if KeyAscii = vbKeyAdd Then // vb KeyAdd is the key code constant for th

当我的光标在文本框上,按下“+”按钮时,该文本框的值必须上升1

所以我尝试使用MouseMove,但问题是我不能使用OnkeyPress函数中的keyscii函数

If KeyAscii = vbKeyL Then
    Stock.Value = Stock.Value + 1
End If
如果你有任何想法,你可以免费发布! 提前打电话。

怎么样

if KeyAscii = vbKeyAdd Then // vb KeyAdd is the key code constant for the '+' key
     Stock.Value = Stock.Value + 1
End If
试着像这样声明它

Dim key as KeyAscii
Dim key as KeyAscii
if key = vbKeyAdd Then // vb KeyAdd is the key code constant for the '+' key
         Stock.Value = Stock.Value + 1
    End If
然后像这样更改代码

Dim key as KeyAscii
Dim key as KeyAscii
if key = vbKeyAdd Then // vb KeyAdd is the key code constant for the '+' key
         Stock.Value = Stock.Value + 1
    End If
下面是所有vba键代码的列表


希望这对您有所帮助

您可以通过文本框的MouseMove事件和按键事件来实现这一点

使用MouseMove事件,您可以知道鼠标何时位于文本框上方。如果是,则将全局变量设置为True,当它离开时(当它碰到文本框的边框时)将其设置为False

然后在表单KeyPress事件中,检查全局变量是否为true,如果为true,则检查keyscii值。

正确答案是: 在表单中将“关键点预览”设置为“是”,启用文本框:False

而不是在按下键事件中:

Select Case KeyCode
        Case vbKeyAdd

             Stock.Value = Stock.Value + 1
    End Select

Thnx用于KeyAdd,但我的大问题仍然是OnMouseMove函数中不存在“KeyAscii”,只有在OnKeyPress中它才存在。我尝试过它,但当我尝试编译它时,它给了我一个错误,因为它找不到键哇!谢谢你。我用
Form_keypress
事件尝试了各种方法,试图在用户按下
escape
键时启用函数调用,但如果任何控件第一次收到焦点,它将永远不会工作。但是启用了
关键点预览
后,它现在可以一直工作。精彩的!你应该标记你的问题已解决。