Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

Access快速开发平台--多行文本框用键盘上下键快速切换文本框获得焦点的功能

时 间:2025-09-28 07:56:28
作 者:麥田   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:实现多行文本框用键盘上下键快速切换文本框获得焦点的功能。
正 文:

一、开发平台问题描述:
爱好者:苏州--繁华旧时梦  13:28:09
      请教老师,在Access快速开发平台里面,像这样的多行文本框有没有用键盘向下键、向上键快速切换文本框获得焦点的功能?如下图:
点击图片查看大图

      我试过Tab键次序只能在同一行数据的情况下,设置文本框的顺序前后切换,我想要的是第一行入库数量直接切换到第二行入库数量的功能。

二、解决方法:

      这个功能主要是给想偷懒的情况下使用,不想用鼠标一个一个的点击文本框获得焦点,而是直接用键盘的上下键实现快速的让下一行同一个字段获得焦点,以及上一行同一个字段获得焦点,从而提高输入录入数据的效率;

      实现是肯定可以的了,只不过是需要写一大段代码来完成,分享代码如下:



复制下面整段代码:
Private Sub MoveToNextRecord(ColumnControl As Control)
    On Error Resume Next
    DoCmd.GoToRecord , , acNext
    ColumnControl.SetFocus
End Sub


Private Sub MoveToPreviousRecord(ColumnControl As Control)
    On Error Resume Next
    DoCmd.GoToRecord , , acPrevious
    ColumnControl.SetFocus
End Sub
Private Sub 入库数量_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyDown
            ' 向下键 → 下一行同列
            If Not Me.NewRecord Then
                MoveToNextRecord Me.入库数量
            End If
        Case vbKeyUp
            ' 向上键 → 上一行同列
            If Not Me.NewRecord Then
                MoveToPreviousRecord Me.入库数量
            End If
            Me.[入库数量].SetFocus
    End Select
End Sub


Private Sub LOT_NO_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyDown
            ' 向下键 → 下一行同列
            If Not Me.NewRecord Then
                MoveToNextRecord Me.[LOT NO]
            End If
        Case vbKeyUp
            ' 向上键 → 上一行同列
            If Not Me.NewRecord Then
                MoveToPreviousRecord Me.[LOT NO]
            End If
            Me.[LOT NO].SetFocus
    End Select
End Sub

Private Sub 备注_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyDown
            ' 向下键 → 下一行同列
            If Not Me.NewRecord Then
                MoveToNextRecord Me.备注
            End If
        Case vbKeyUp
            ' 向上键 → 上一行同列
            If Not Me.NewRecord Then
                MoveToPreviousRecord Me.备注
            End If
            Me.备注.SetFocus
    End Select
End Sub


Access快速开发平台QQ群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助