Foxtable(狐表)用户栏目专家坐堂 → 自动编号


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

主题:自动编号

美女呀,离线,留言给我吧!
朱女士
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:32:00 [只看该作者]

这样

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240513113059.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107649 积分:547554 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/13 11:37:00 [只看该作者]

长度不会呀,这个长度是14位的,之前是12位的。编号规则不一样,当然会由问题的

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:38:00 [只看该作者]

这样的

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240513113059.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107649 积分:547554 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/13 11:41:00 [只看该作者]

长度不对,这个长度是14位的,之前是12位的。编号规则不一样,当然会有问题的

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:43:00 [只看该作者]

|20240430000012|

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:48:00 [只看该作者]

显示内容为:
20240430000012


 回到顶部
美女呀,离线,留言给我吧!
朱女士
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:56:00 [只看该作者]

老师:原来是12位的,后来我改了14位的试了一下,还是原来的问题,这个不影响结果:您再看一下代码:就是有重复编号。前面有“ ’ ”是我调试时注释掉的。
Select Case e.DataCol.Name 
  Case "图纸下发日期", "清单条码编码"
    If e.DataRow.IsNull("图纸下发日期") Then
        e.DataRow("清单条码编码") = Nothing
    Else
        '        Dim dl As Date = Date.Today
        Dim dl As Date = e.DataRow("图纸下发日期")
        
        Dim y As Integer = dl.Year
        Dim m As Integer = dl.Month
        Dim d As Integer = dl.day
        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(dl, "yyyyMMdd") '生成编号的前8位,4位年,2位月.
        If e.DataRow("清单条码编码").StartsWith(bh) = False Then'如果编号的前8位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
            If max > "" Then '如果存在最大编号
'                idx = CInt(max.Substring(max.length - 4)) + 1
                  idx = CInt(max.Substring(8, 6)) + 1 
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("清单条码编码") = bh & Format(idx, "000000")
       
   
'msgbox("图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify"))
'            max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
'msgbox("|" & max & "|")


 End If
 End If
    
End Select

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 11:58:00 [只看该作者]

有的日期是按照顺序编号的,可是有的日期就是重复编号,我很纳闷,谢谢老师,给您添麻烦了!

 回到顶部
帅哥,在线噢!
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107649 积分:547554 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/13 12:00:00 [只看该作者]

整个表的规则必须保持一致,要么全部12位,要么全部14位,把整个表编号列清空全部重新生成

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:453 积分:3683 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/5/13 12:29:00 [只看该作者]

老师:弄明白了,谢谢!

 回到顶部
总数 20 上一页 1 2