Foxtable(狐表)用户栏目专家坐堂 → 用身份证自动编号问题


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

主题:用身份证自动编号问题

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


加好友 发短信
等级:幼狐 帖子:55 积分:479 威望:0 精华:0 注册:2019/4/13 17:35:00
用身份证自动编号问题  发帖心情 Post By:2019/12/23 13:51:00 [只看该作者]

劳烦老师给我看看,我用身份证号前6位来生成自动编号,以下代码问题出到哪?

 

 

 

 

Select Case e.DataCol.name
    Case "身份证号码"
        If e.DataRow.IsNull("身份证号码") Then
            e.DataRow("ID") = Nothing
        Else
            Dim bm As String = e.DataRow("身份证号码").SubString(0,6)
             If e.DataRow("ID").StartsWith(bm) = False '如果编号的前6位不符
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(ID)","身份证号 >= #" & bm & "# And bm <= #" & bm & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该地区的最大编号
               If max > "" Then '如果存在最大编号
                idx = CInt(max.Substring(7,3)) + 1 '获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("ID") = bm & "-" & Format(idx,"000")
        End If
    End If
End Select


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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/23 14:03:00 [只看该作者]

又不是日期值,不能这样用的,改为

max = e.DataTable.Compute("Max(ID)","身份证号 like '" & bm & "%' And  [_Identify] <> " & e.DataRow("_Identify")) '取得该地区的最大编号

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


加好友 发短信
等级:幼狐 帖子:55 积分:479 威望:0 精华:0 注册:2019/4/13 17:35:00
  发帖心情 Post By:2019/12/23 14:11:00 [只看该作者]

谢谢老师了

 回到顶部