以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]窗口输入光标控制与如何限制字符数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115323) |
-- 作者:hrlong -- 发布时间:2018/3/5 11:33:00 -- [求助]窗口输入光标控制与如何限制字符数 通过下面的窗口输入数据,输入‘系统单号’,回车,输入‘配货员工’,回车,光标回到‘系统单号’ 系统订单列里面有设置‘禁止重复’,输入重复数据会报警。报警后,光标会跳到‘配货员工’; 请问老师 如何设置,使得,输入重复数据报警时,关闭报警窗口后,光标还是停留在‘系统单号’输入框? 配货员工那里怎么限制输入字符数?比如限制字符数为6,输入超过6个字符,回车后,跳出报警“配货员工输入错误,请重新输入”,关闭报警窗口后,光标还是停留在‘配货员工’输入框 =================================================================================== 此主题相关图片如下:问题.png |
-- 作者:有点甜 -- 发布时间:2018/3/5 11:37:00 -- 编写 validating事件
http://www.foxtable.com/webhelp/scr/0736.htm
|
-- 作者:hrlong -- 发布时间:2018/3/5 12:44:00 -- 我把代码复制到那个事件中了, ‘系统单号’输入框能成功实现; 但是,‘配货员工’那里会自动截短到6个字符填入数据库; 比如输入1234567,会报警说字符超过,将截短到6个,确定后,光标被强制留在‘配货员工’输入框;但是123456这个已经填入数据库了,并且已经增加了一行; ps. 我在leave事件加了 Tables("配货").AddNew() 增加一行的代码 |
-- 作者:有点甜 -- 发布时间:2018/3/5 14:20:00 -- 1、贴出你写的代码,并不是照搬帮助文档的代码啊。
2、代码改成如
If e.sender.Text > "" AndAlso e.sender.text.length > 6 Then msgbox("输入错误") e.cancel = true End If |
-- 作者:hrlong -- 发布时间:2018/3/5 17:21:00 -- 谢谢,我把你发的代码改成这样,可以实现了 If e.sender.Text > "" AndAlso
e.sender.text.length < 6 Then Tables("配货").AddNew() Else msgbox("输入错误") e.cancel = True End If |