

界面/窗体/控件
access按数字键自动选取组合框列表框中对应行的数据
2013-12-31 15:34:50
文件类型 :
文件版本 :
简要说明 :
有的时候,我们为了快速选择项,就选用数字来代替。比如有一个组合框,行来源是值列表 "文盲;小学;初中;高中;大专;本科;硕士;博士",按小键盘的数字键1,就选择“小学”这行,按5就选择“本科” 这样的方法。我们往往在函数的参数中看到这样的写法。
那我们可以写一个通用函数,放在组合框或者列表框的 KEYUP 事件中调用就可以了。无论是值列表、表/查询、字段都可以应用。
Function SelectValue(ByRef ComboOrList As Control, ByVal KeyCode As Integer)
'本函数的作用是根据用户在组合框或者列表框上按的数字小键盘的顺序,
'选择列表前10个中的某一个
Debug.Print KeyCode
With ComboOrList
If .ControlType <> acComboBox And .ControlType <> acListBox Then
Debug.Print "不是组合框或者列表框,无法应用本功能"
Exit Function
End If
If KeyCode >= 96 And KeyCode <= 105 Then
'必须是小键盘,0键=96 --> 9键=105
If .ListCount >= KeyCode - 96 Then
'如果列表的数量>= 10
.Value = .Column(.BoundColumn - 1, KeyCode - 96 - 1)
End If
End If
End With
End Function
Private Sub Combo2_KeyUp(KeyCode As Integer, Shift As Integer)
'调用方式如下:
SelectValue Me.Combo2, KeyCode
End Sub
Private Sub List3_KeyUp(KeyCode As Integer, Shift As Integer)
'调用方式如下:
SelectValue Me.List3, KeyCode
End Sub