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

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

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

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


在一個組合框中,行來源是值列表為 "文盲;小學;初中;高中;大專;本科;碩士;博士",實現按小鍵盤的數字鍵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


分享
北京十一选五基本走势