以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- [求助]请教验证公式、登陆预处理公式问题 (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=28051) |
||||
-- 作者:小米架步枪 -- 发布时间:2015/8/26 18:13:00 -- [求助]请教验证公式、登陆预处理公式问题 本人刚开始接触易表,还希望请教诸位高手如下问题,测试的文件在附件中:
1,订单表的行验证公式现可进行必填项验证 If([书号]="" Or[书名]="" ,MsgBox("未输入必填项",0),true) 若希望加入如下验证标准提示,该如何更改?:
[书号]列只能从书目信息提取信息(在“来源于某一列”中已设置但无效),若不符则提示"请先录入书目信息"
[发订号]列禁止输入重复内容,若不符则提示“发订号重复”
2,系统设置了admin,sale,manager三个用户、密码及对应菜单,文件预处理公式If(username="admin",OpenMenu(),if(username="sale",OpenMenu("销售人员") And OpenGrid("订单表") ,if(username="manager",OpenMenu("经理") And OpenGrid("书目信息") ,MsgBox("用户名错误",0))))
但假如输入大写用户名如SALE,MANAGER及密码,会提示用户名错误,但最终会进入默认系统菜单。若输入大写用户名后禁止进入系统,该如何更改公式?
谢谢!
[此贴子已经被作者于2015/8/26 22:13:08编辑过]
|
||||
-- 作者:小米架步枪 -- 发布时间:2015/8/26 18:13:00 -- 换个浏览器补传附件
[此贴子已经被作者于2015/8/26 19:33:17编辑过]
|
||||
-- 作者:dancedy -- 发布时间:2015/8/27 9:17:00 -- 1.书号列设置来源于某一列,所以只能从书目信息表中获取书号,不能自行输入内容,我测试有效喔 发订号列,可以在菜单—列—编辑设置,去掉“允许输入重复内容”前面的打勾
2.系统默认的用户名不区分大小写,可以考虑对用户分组,这样大小写同时可以登录,如: 管理员的分组码固定是1的,sale设置分组码为2,manager的分组码为3
If(usertype=1,OpenMenu(),if(usertype=2,OpenMenu("销售人员") And OpenGrid("订单表") ,if(usertype=3,OpenMenu("经理") And OpenGrid("书目信息") ,"")))
如果确实需要按大小写严格区分,要自己自定义登录窗口 |
||||
-- 作者:小米架步枪 -- 发布时间:2015/8/27 17:25:00 -- 以下是引用dancedy在2015/8/27 9:17:00的发言:
1.书号列设置来源于某一列,所以只能从书目信息表中获取书号,不能自行输入内容,我测试有效喔 发订号列,可以在菜单—列—编辑设置,去掉“允许输入重复内容”前面的打勾
2.系统默认的用户名不区分大小写,可以考虑对用户分组,这样大小写同时可以登录,如: 管理员的分组码固定是1的,sale设置分组码为2,manager的分组码为3
If(usertype=1,OpenMenu(),if(usertype=2,OpenMenu("销售人员") And OpenGrid("订单表") ,if(usertype=3,OpenMenu("经理") And OpenGrid("书目信息") ,"")))
如果确实需要按大小写严格区分,要自己自定义登录窗口
多谢版主的解答,系统登录问题已经解决了,关于不允许自行输入内容,我发现在录入窗口退格或移动光标还是能够输入其它内容的,见新上传的附件 此外在列设置中禁止输入重复内容后,提示窗选项中若选第三项可以跳过,我想能否实现完全禁止,试验 if(countfor("发订号"," = ",[发订号]) > 1,MsgBox("发订号重复",0),true) 这个行验证公式,似乎不正确,请问该如何更改? 多谢!
|
||||
-- 作者:dancedy -- 发布时间:2015/8/27 21:18:00 -- 书号列设置操作公式试试: if([书号] > "" And FindRow("书目信息","书号"," = ",[书号]) = 0,MsgBox("书号不正确!",0) And SetCellText(GridName,Row,"书号",""), True )
发订号是通过公式进行刷新的,应该考虑书号和订购批号的重复 |
||||
-- 作者:小米架步枪 -- 发布时间:2015/8/29 4:04:00 -- 以下是引用dancedy在2015/8/27 21:18:00的发言:
书号列设置操作公式试试: if([书号] > "" And FindRow("书目信息","书号"," = ",[书号]) = 0,MsgBox("书号不正确!",0) And SetCellText(GridName,Row,"书号",""), True )
发订号是通过公式进行刷新的,应该考虑书号和订购批号的重复 是的,使用操作公式就好了,多谢版主! |