以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 籍贯自动填充问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28756) |
-- 作者:aygp -- 发布时间:2013/2/17 16:55:00 -- 籍贯自动填充问题 项目文件有二个数据表:“身份证属地表”和“员工信息表”。“身份证属地表”有‘籍贯编码’列和‘籍贯’列。“学生信息表”包含有‘身份证号’列和‘籍贯’列。通过以下代码可以实现,当在“学生信息表”‘身份证号’列中输入学生的身份证号并确认后,在‘籍贯’列中就可以自动生成籍贯地址。对单个学生的信息进行输入时,这种方法是可以的。但是现在学生的部分信息包括身份证号都是批量导入的。以下代码如何后可以做到一键(按钮)触发,批量填充‘籍贯’,或者自动判断,只要‘身份证号’列中有身份证号码,就自动批量填充‘籍贯’。先谢了!
Select Case e.DataCol.name |
-- 作者:lin_hailun -- 发布时间:2013/2/17 17:00:00 -- 批量导入的时候,也会触发对应datacolchanged事件的。 如果你的特殊,没有触发,你可以选择该列,然后点击菜单上的 重置列 ,就可以填充籍贯了。 http://www.foxtable.com/help/topics/1469.htm |
-- 作者:aygp -- 发布时间:2013/2/17 17:28:00 -- 林老师: 重置列后,出现以下提示:“运行错误”。应如何处理? |
-- 作者:aygp -- 发布时间:2013/2/17 17:29:00 -- 林老师: 重置列后,出现以下提示:“运行错误”。应如何处理? |
-- 作者:aygp -- 发布时间:2013/2/17 17:30:00 -- 此主题相关图片如下:重置列.jpg |
-- 作者:lin_hailun -- 发布时间:2013/2/17 17:34:00 -- 把详细信息截图看看。应该是你数据的问题。 |
-- 作者:aygp -- 发布时间:2013/2/17 17:52:00 -- 是数据有问题,有些身份证代码在“身份证属地表”中没有对应的属地,行政区划发生了变化引起的。 谢谢林老师! |
-- 作者:aygp -- 发布时间:2013/2/17 18:07:00 -- 还有一个问题,在设置了以上代码后,在批量导入数据时,如果在‘身份证号’列中没有身份证号码,也会出现提示:“运行错误”。实际情况是在批量导入数据时,身份证号码确实有大量空缺的。能否在批量导入数据时不触发该事件呢? |
-- 作者:lin_hailun -- 发布时间:2013/2/17 18:11:00 -- 不会出现这样的问题,我估计,如果你的代码是如下这样写的话。 为空的时候,直接设置归属地是nothing了,是否你还有其余的代码? Select Case e.DataCol.name Case "身份证号" If e.DataRow.IsNull("身份证号") Then e.DataRow("身份证属地") = Nothing Else Dim bm As String = e.DataRow("身份证号").SubString(0,6) Dim dr As DataRow = DataTables("身份证属地").Find("籍贯编码 = \'" & bm & "\'") If dr IsNot Nothing Then e.DataRow("籍贯") = dr("籍贯") End If End If End Select |
-- 作者:aygp -- 发布时间:2013/2/17 18:24:00 -- 我再试一试 |