Office中国论坛/Access中国论坛

标题: 【Access小品】文本框快速输入---定长自动回车 [打印本页]

作者: todaynew    时间: 2010-7-21 13:43
标题: 【Access小品】文本框快速输入---定长自动回车
本帖最后由 todaynew 于 2010-7-21 15:42 编辑

版友大海同志的问题:如何在输入框中输入限定字符数后光标能自动跳到下一个输入框?

解答:

Private Sub Form_Load()
Dim ctl As Control
Me.姓名.Tag = "3"
Me.性别.Tag = "1"
Me.年龄.Tag = "2"
For Each ctl In Me.Controls
       If ctl.ControlType = acTextBox Then
              ctl.OnChange = "=AllChange()"
       End If
Next ctl
End Sub

Function AllChange()
Dim ctl As Control
Me.Recalc
Me.ActiveControl.SelStart = Len(Nz(Me.ActiveControl.Value, "0"))
If Len(Me.ActiveControl.Value) = CLng(Me.ActiveControl.Tag) Then
        SendKeys "{ENTER}"
End If
End Function

[attach]42762[/attach]

[attach]42763[/attach]


作者: hjb016    时间: 2010-7-21 14:33
不错!
作者: t小宝    时间: 2010-7-21 14:54
不错的方法,但是好象不能阻止在文本框中粘贴超长的内容。
作者: todaynew    时间: 2010-7-21 15:09
不错的方法,但是好象不能阻止在文本框中粘贴超长的内容。
t小宝 发表于 2010-7-21 14:54

我理解问题人的原意似乎是解决快速输入问题,也就是说某些文本框数据的长度相对固定。因此在写这个实例的时候,似乎应该放开超长限制。也就是说大多数数据输入时能自动回车少数非定长的还是手工回车了事。呵呵



作者: t小宝    时间: 2010-7-21 15:36
原来主要是解决数据输入自动回车的问题。
关于限制文本框字符长度,如果文本框绑定了数据源,ACCESS就自动限制其输入字符长度为表中该字段的字符长度,无论粘贴还是用代码赋值都没法突破限制,如果是非绑定的文本框,则用什么方法都很难达到那样的效果。
作者: todaynew    时间: 2010-7-21 15:41
本帖最后由 todaynew 于 2010-7-21 15:44 编辑
原来主要是解决数据输入自动回车的问题。
关于限制文本框字符长度,如果文本框绑定了数据源,ACCESS就自动 ...
t小宝 发表于 2010-7-21 15:36


好像是我的题目有点问题,不知道如何表述好,呵呵。要不改成《文本框快速输入---定长自动回车》吧,这样似乎切题一些。


作者: xuwenning    时间: 2010-7-22 08:58
学习了
谢谢分享
作者: 5988143    时间: 2010-7-22 11:54
好方法~謝謝分享!
作者: LJB    时间: 2010-7-22 19:44
有点意思!
作者: lovehere    时间: 2010-7-28 10:37
这个收藏了,很好的例子
作者: Dragxixi    时间: 2010-7-28 11:05
好东西!谢谢分享
作者: zhaofangyuan    时间: 2010-7-31 15:50
谢谢,收藏学习!
作者: huxinhua    时间: 2012-1-10 15:17
谢谢分享
作者: changweiren    时间: 2012-1-13 23:31
这个收藏了,很好




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3