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


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

主题:自动生成编号列

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


加好友 发短信
等级:二尾狐 帖子:513 积分:4073 威望:0 精华:0 注册:2020/2/8 11:14:00
自动生成编号列  发帖心情 Post By:2020/7/21 16:45:00 [只看该作者]

老师您好!

    我要自动生成表的编号列:规则是“wd-客户-20200721-编号2”,日期是今天日期。取编号2列的最大值加1。我的代码如下但出错。请指教!

'编号的自动生成

If e.DataCol.Name = "客户" Then
    If e.DataRow.IsNull("客户") Then
        e.DataRow("编号") = Nothing
    Else
        Dim bh As String = Format(Date.today(),"yyyyMMdd")   
        Dim max As String
        Dim idx As Integer
       
        max = e.DataTable.Compute("max(编号2)","[_Identify] <> "& e.DataRow("_Identify"))
messagebox.show(max)
        If max > "" Then '如果存在最大编号
            idx = CInt(max) + 1 '获得最大编号加1
        Else
            idx = 1 
        End If
        e.DataRow("编号") = "wd-" & e.DataRow("客户") & "-" & bh & "-" & Format(idx,"000")
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 16:55:00 [只看该作者]

编号2是字符列?存储的是什么内容?编号2的数据什么时候会变?如果不变,生成的编号不都是同一个?

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


加好友 发短信
等级:二尾狐 帖子:513 积分:4073 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/7/21 17:13:00 [只看该作者]

字符型

编号列:wd-ABB-20191228-0978

编号2是上述截取后四位形成的。在增加行时自动在最大号上加1

 


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


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 17:29:00 [只看该作者]

既然编号2在增加行时自动在最大号上加1,就是说这一行编号2值已经是确定的了,还有必要再计算一次吗,直接合并不就行了

 回到顶部