Foxtable(狐表)用户栏目专家坐堂 → [求助]这段代码如何写?


  共有3931人关注过本帖树形打印复制链接

主题:[求助]这段代码如何写?

帅哥哟,离线,有人找我吗?
ahbrq
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
[求助]这段代码如何写?  发帖心情 Post By:2015/8/15 17:41:00 [只看该作者]

 
图片点击可在新窗口打开查看此主题相关图片如下:完整身份证替换.png
图片点击可在新窗口打开查看

 

我在“储蓄积分”表中前后导入两批数据,区别在于第一次身份证号码后三位是0截除了,这次身份证号码是完整的,现在要用完整的身份证替换不完整的,代码怎么写?写在哪儿?

 

比如:艾永华 340104194106270 

        艾永华 340104194106270015  要用完整的身份证替换不完整的

 

程序大于2M,我上传了截图。谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2015/8/15 18:59:00 [只看该作者]

看不出规律

 

你直接增加一个表达式的逻辑列,公式:Len([身份证号码]) = 18,这样逻辑列为真的就是符合的身份证号码


 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2015/8/15 19:59:00 [只看该作者]

 同一个人有2个身份证号码,一个15位一个18位,如果这两个身份证号码前15位相同,就用18位的号码代替16位的号码。如果同1个人只有1个身份证号码就不用处理。

 回到顶部
客人(117.68.*.*)
  4楼


  发帖心情 Post By:2015/8/15 20:31:00 [只看该作者]

 同一个人有2个身份证号码,一个15位一个18位,如果这两个身份证号码前15位相同,就用18位的号码代替16位的号码。如果同1个人只有1个身份证号码就不用处理。

 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2015/8/15 20:37:00 [只看该作者]

 同一个人有2个身份证号码,一个15位一个18位,如果这两个身份证号码前15位相同,就用18位的号码代替16位的号码。如果同1个人只有1个身份证号码就不用处理。

 

 

要实现这个功能,代码怎么写?


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2015/8/15 21:01:00 [只看该作者]

这样试试,按钮代码

 

For Each r As DataRow In DataTables("储蓄积分").DataRows
    If r("身份证号码").Length = 18
        Dim dr As DataRow = DataTables("储蓄积分").Find("身份证号码 = '" & r("身份证号码").SubString(0,6) & r("身份证号码").SubString(8,9) & "'")
        If dr IsNot Nothing Then '如果找到的话
            dr("身份证号码") = r("身份证号码")
        End If
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2015/8/15 22:08:00 [只看该作者]


        Dim dr As DataRow = DataTables("储蓄积分").Find("身份证号码 = '" & r("身份证号码").SubString(0,6) & r("身份证号码").SubString(8,9) & "'")

 

上面的语句能找到同名,且身份证号码前15位相同么?


 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2015/8/15 22:56:00 [只看该作者]

代码上去,在AFTECHANGED里,重置列后30分钟没反应,挂机睡觉
[此贴子已经被作者于2015/8/15 22:56:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2015/8/15 22:57:00 [只看该作者]

行不行你可以试试 15位和18位号码前15位是不会相同的

 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2015/8/15 23:02:00 [只看该作者]

你理解错了,第一次导入的15位号码,是因为某种原因18位号码后三位全是0,所以就只截取前15位,现在能导入完整的18位号码了。

 

 

 

所以就要把原先的15位号码替换为18位。请看我前面的图。

[此贴子已经被作者于2015/8/15 23:02:27编辑过]

 回到顶部
总数 25 1 2 3 下一页