office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access實(shí)現(xiàn)按小鍵盤(pán)數(shù)字鍵自動(dòng)選取組合框或者列表框中對(duì)應(yīng)行的數(shù)據(jù)

2017-11-07 11:23:00
cg1
轉(zhuǎn)貼
4495

在程序中,我們有時(shí)需要利用小鍵盤(pán)輸入數(shù)字快速選定記錄

比如實(shí)現(xiàn)按小鍵盤(pán)數(shù)字鍵自動(dòng)選取組合框或者列表框中對(duì)應(yīng)行的數(shù)據(jù)


在一個(gè)組合框中,行來(lái)源是值列表為 "文盲;小學(xué);初中;高中;大專(zhuān);本科;碩士;博士",實(shí)現(xiàn)按小鍵盤(pán)的數(shù)字鍵1,就選擇“文盲”這行,按8就選擇“博士”這行。

詳細(xì)函數(shù):

Function SelectValue(ByRef ComboOrList As Control, ByVal KeyCode As Integer)
'本函數(shù)的作用是根據(jù)用戶(hù)在組合框或者列表框上按的數(shù)字小鍵盤(pán)的順序,
'選擇列表前10個(gè)中的某一個(gè)
    Debug.Print KeyCode
    
    With ComboOrList
        If .ControlType <> acComboBox And .ControlType <> acListBox Then
            Debug.Print "不是組合框或者列表框,無(wú)法應(yīng)用本功能"
            Exit Function
        End If
        If KeyCode >= 96 And KeyCode <= 105 Then '必須是小鍵盤(pán),0鍵=96 --> 9鍵=105
            If .ListCount >= KeyCode - 96 Then
            '如果列表的數(shù)量>= 10
                .Value = .Column(.BoundColumn - 1, KeyCode - 96 - 1)
            End If
        End If
        
    End With
End Function



在窗體中放置組合框和列表框,其命名為Combo1和List1,組合框或者列表框的 KEYUP 事件中調(diào)用上面一個(gè)通用函數(shù)。

無(wú)論是行來(lái)源類(lèi)型是值列表、表/查詢(xún)、字段都可以應(yīng)用。

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


分享
文章分類(lèi)
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)