Foxtable(狐表)用户栏目专家坐堂 → 自动编号重复,老师看看怎么回事吧


  共有4847人关注过本帖平板打印复制链接

主题:自动编号重复,老师看看怎么回事吧

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
自动编号重复,老师看看怎么回事吧  发帖心情 Post By:2018/5/24 14:35:00 [只看该作者]

SQLserver数据源。
即使是一个人录入:偶尔也会出现,自动生成的编号有重复的现象。
Dim cr As Row = Tables("发文登记表").Current
    Dim y As Integer = rq.Year
    Dim m As Integer = rq.Month
    Dim Days As Integer = Date.DaysInMonth(y,m)
    Dim fd As Date = New Date(y,m,1) '获得该月的第一天
    Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
    Dim bh As String = Format(rq,"yyyyMM") '生成编号的前6位,4位年,2位月.
    Dim max As String
    Dim idx As Integer
    max = DataTables("发文登记表").sqlCompute("Max(文件编号)","发文部门='"& user.group &"' and 发文登记日期>= '" & fd & "' And 发文登记日期<= '" & ld & "' And [_Identify] <> " & cr("_Identify")) '取得该月的最大编号
    If max > "" Then '如果存在最大编号
        idx = CInt(max.Substring(13,3)) + 1 '获得最大编号的后三位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    cr("文件编号") =dr("部门缩写") & "-FW-" & bh & "-" & Format(idx,"000")
        Tables("发文登记表").save

 回到顶部
总数 12 1 2 下一页