以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]关于身份证号禁止重复的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28402) |
||||
-- 作者:阿依本 -- 发布时间:2013/1/28 12:15:00 -- [原创]关于身份证号禁止重复的问题 各位专家们: 一个项目里有3个表格,分别为“表一”、“表二”、“表三”,都是人员信息,但是3张表格是不同类型人员的基本信息,设计的有3个不同的基本信息录入窗口。我想在这任意表格中打开录入窗口,在“身份证号”里输入身份证号时,如果这3个表格里已经有的身份证号有重复的,就会有提示。我在单张表格里已经实现了,但是3张表格里,无能为力了,恳请专家们指点指点,谢谢! |
||||
-- 作者:飞 -- 发布时间:2013/1/28 12:26:00 -- 方案如下: 在窗口打开时候读取三个表中的身份证号到一个集合中,然后在输入完成时候判断输入的身份证号是不是在这个集合里面 因为狐表里面不能定义模块变量,所以集合用listbox代替 afterload事件中把三个表的身份证号都放到listbox中 e.form.controls("listbox1").combolist = tables("表A").getcomboliststring( ) & "|" & tables("表B").getcomboliststring( ) & "|" & tables("表B").getcomboliststring( ) & "|" &
验证时候用 if e.form.controls("listbox1").items.contains( ) then msgbox("重复")
大概是这样的了 |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/28 12:43:00 -- 理想的设计,应该加入一个总表才对的。总表包括所有的人员。 |
||||
-- 作者:阿依本 -- 发布时间:2013/1/28 13:02:00 -- 我是一名菜鸟,刚开始学习,请高手把具体操作说一说,不胜感谢! listbox是“列表框”,这个东东是不是放到每个表格的信息录入框中,再在窗口afterlaod事件中写上述代码吗?请高手帮帮忙撒 |
||||
-- 作者:阿依本 -- 发布时间:2013/1/28 13:05:00 -- 总表,我也想过,但是这3类人员的基本信息有点不一样,只是身份证号等个别信息一样,大部分信息不一样啊 |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/28 13:49:00 -- 2楼已经给出答案了。 弄不好的话,就上传一个例子,说明你要怎么弄。 |
||||
-- 作者:阿依本 -- 发布时间:2013/1/28 16:52:00 -- 菜鸟失望中。。。 |
||||
-- 作者:阿依本 -- 发布时间:2013/1/30 11:54:00 -- 这是做的简单的例子,不知道做的行不行,3个表都有单独的信息录入窗口,我的意思就是,在任何窗口中录入“身份证号”时,如果在其他表格中的身份证号重复,就会出现提示。如:“此身份证号与表A中第几条记录重复”之类的提示。请专家们提示。 |
||||
-- 作者:阿依本 -- 发布时间:2013/1/30 11:54:00 --
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/30 12:28:00 -- 嗯嗯,代码写在了 表属性->事件->datacolchanging
|