Access實現按小鍵盤數字鍵自動選取組閤框或者列錶框中對應行的數據

2017-11-07 11:23:00
cg1
轉貼
976

在程序中,我們有時需要利用小鍵盤輸入數字快速選定記録

比如實現按小鍵盤數字鍵自動選取組閤框或者列錶框中對應行的數據


在一箇組閤框中,行來源是值列錶爲 "文盲;小學;初中;高中;大專;本科;碩士;博士",實現按小鍵盤的數字鍵1,就選擇“文盲”這行,按8就選擇“博士”這行。

詳細函數:

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



在窗體中放置組閤框和列錶框,其命名爲Combo1和List1,組閤框或者列錶框的 KEYUP 事件中調用上麵一箇通用函數。

無論是行來源類型是值列錶、錶/查詢、字段都可以應用。

Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer)
'調用方式如下:
    SelectValue Me.Combo1, KeyCode
End Sub
Private Sub List1_KeyUp(KeyCode As Integer, Shift As Integer)
'調用方式如下:
    SelectValue Me.List1, KeyCode
End Sub


分享