Foxtable(狐表)用户栏目专家坐堂 → 求助:编号代码


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

主题:求助:编号代码

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
求助:编号代码  发帖心情 Post By:2017/5/26 9:11:00 [只看该作者]

老师好:

我想达到的目的是:

后面的流水号不要规定位数,不管多少位数一直延下去

如:

要:2017-51,2017-52,2017-53;

不要:2017-5001,2017-5002,2017-5003;

请老师帮忙,修改一下代码,多谢!

 


Select e.DataCol.Name
    Case "年份", "月份"
        If e.DataRow("辅助列") = Nothing Then
            Dim flag As Boolean = False
            Dim lb As String = e.DataRow("年份") &"-"& e.DataRow("月份")
            Dim bhs As List(of String) = e.DataTable.sqlGetValues("工令单号", "工令单号 Like '" & lb & "%' And [_Identify] <> " & e.DataRow("_Identify"))
            For i As Integer = 1 To bhs.count
                If bhs(i-1) <> lb & Format(i, "000") Then
                    lb = lb & Format(i, "000")
                    flag = True
                    Exit For
                End If
            Next
            If bhs.count = 0 Then
                lb = lb & "001"
            ElseIf flag = False Then
                lb = lb & Format(bhs.count+1, "000")
            End If
            e.DataRow("工令单号") = lb
        End If
End Select
e.DataRow.Save


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/26 9:18:00 [只看该作者]

 你加一个数值列的流水号吧,根据这个列的数据,取最大的那一个,就行了。

 

 做个具体例子发上来测试。


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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2017/5/26 9:34:00 [只看该作者]

老师好:请查看附件,这需要网络编号不重复的情况下达到上述目的

多谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助网络编号.rar


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


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

增加一整型列作为顺序号。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb



网络编号不重复需要使用OpenQQ处理,参考:http://www.foxtable.com/webhelp/scr/3008.htm

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2017/5/26 11:34:00 [只看该作者]

老师好:帮助中网络编号会断号,客户要求不能断号,所以很麻烦。

用1楼代码,网络编号不重复不断号。

但客户又要求不要固定流水号位数,呵呵!


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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 14:04:00 [只看该作者]

1楼的方式也没有办法保证网络编号不重复不断号。你的并发量应该少,还看不出来。

断号复用需要专门进行处理的,而且一旦断号就很难保证号码的顺序是符合业务时间的顺序的。所以大多数情况下断号复用没有多大的意义,而且处理起来又麻烦。特别是编号如果和其它表有关联,业务逻辑如果处理不好还会因此引发一系列的数据问题,产生不必要的垃圾数据。

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2017/5/26 16:52:00 [只看该作者]

多谢老师


 回到顶部