以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [原创]关于身份证号禁止重复的问题  (http://foxtable.com/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
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:身份证号禁止重复实验项目.zip


--  作者:lin_hailun
--  发布时间:2013/1/30 12:28:00
--  
 嗯嗯,代码写在了 表属性->事件->datacolchanging

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:身份证号禁止重复实验项目.table