Foxtable(狐表)用户栏目专家坐堂 → [分享]存储过程版-网络环境下的复杂编号


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

主题:[分享]存储过程版-网络环境下的复杂编号

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


加好友 发短信
等级:四尾狐 帖子:834 积分:5704 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2023/1/28 20:35:00 [只看该作者]

学习一下


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


加好友 发短信
等级:幼狐 帖子:103 积分:1098 威望:0 精华:0 注册:2021/8/13 23:18:00
学习了  发帖心情 Post By:2023/1/29 9:24:00 [只看该作者]

很好

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


加好友 发短信
等级:幼狐 帖子:98 积分:1018 威望:0 精华:0 注册:2014/12/9 15:57:00
  发帖心情 Post By:2023/1/29 16:33:00 [只看该作者]

非常好

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


加好友 发短信
等级:幼狐 帖子:193 积分:2124 威望:0 精华:0 注册:2013/5/10 15:59:00
  发帖心情 Post By:2023/1/29 16:34:00 [只看该作者]

看看是如何行自动编号的


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


加好友 发短信
等级:幼狐 帖子:69 积分:789 威望:0 精华:0 注册:2017/7/1 18:52:00
  发帖心情 Post By:2023/1/29 17:48:00 [只看该作者]

偶见此贴。
关于自动编号在网络下的操作,有如下方法供大家分享下,也是初学编程,请指点。1, 一张单据编号信息表,(如须断号功能可自行加入断号序号字段,改写程序理论上可补优先补足断号)
图片点击可在新窗口打开查看
单据前缀(djqz)可自行设定;单据前缀索引(djqzsy)可自行设定规则&方式;单据流水位数(djlsws)可设定;单据预留位数(djylws)可设定,供手动插入有序列要求的情况;目前序号(mqxh)
2、全局代码
Public Function newnumber(bhmc As String) As String
On Error Resume Next

'生成数据表
Dim dt As DataTable = DataTables("tbljczldjbh")
dt.LoadFilter = "[bhmc] =N'" & bhmc & "'"
dt.Load

If dt.DataRows.Count = 1 Then
    Dim dtr As DataRow = dt.DataRows(0)
    Dim djqzsy() As String = dtr("djqzsy").Split(";") ' 将单据前缀式样拆分成数组
    Select Case djqzsy(0)
        Case "日期"
            If dtr("mqxl") < Format(Date.Today,djqzsy(1)) Then
                dtr("mqxl") = Format(Date.Today, djqzsy(1))
                dtr("mqxh") = 0
                dtr.Save
                dtr.Load
                MessageBox.show("日期区段进入新的区间,流水号将复位")
            Else
                If dtr("mqxl") > Format(Date.Today,djqzsy(1)) Then
                    MessageBox.show("日期区段退回过去区间,将引起严重的系统错误!","警告", MessageBoxButtons.ok, MessageBoxIcon.Error)
                    newnumber = dtr("djqz") & Format(Date.Today,djqzsy(1)) & "err"
                    Return newnumber
                End If
            End If
            
            If dtr("djylws") = 0 Then
                newnumber = dtr("djqz") & Format(Date.Today,djqzsy(1)) & Right("00000000" & dtr("mqxh") + 1, dtr("djlsws"))
            Else
                newnumber = dtr("djqz") & Format(Date.Today,djqzsy(1)) & Right("00000000" & dtr("mqxh") + 1, dtr("djlsws")) & Right("000000",dtr("djylws"))
            End If
            
        Case "无"
            If dtr("djylws") = 0 Then
                newnumber = dtr("djqz") & Right("00000000" & dtr("mqxh") + 1, dtr("djlsws"))
            Else
                newnumber = dtr("djqz") & Right("00000000" & dtr("mqxh") + 1, dtr("djlsws")) & Right("000000", dtr("djylws"))
            End If
    End Select
    
    dtr("mqxh") = dtr("mqxh") + 1
    dtr.Save
    
Else
    MessageBox.show("系统信息出错/提取代码有误","警告")
End If
End Function
3,生成新记录时,引用newnumber(bhmc As String)  过程,自动生成新单号

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  326楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2023/1/29 22:07:00 [只看该作者]

看看

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2023/1/30 13:38:00 [只看该作者]

学习下

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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2023/6/6 11:05:00 [只看该作者]

ok

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


加好友 发短信
等级:幼狐 帖子:112 积分:773 威望:0 精华:0 注册:2015/6/8 19:26:00
  发帖心情 Post By:2023/6/7 19:01:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
落花人独立
  330楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:205 积分:1197 威望:0 精华:0 注册:2021/6/7 17:11:00
  发帖心情 Post By:2023/8/12 23:03:00 [只看该作者]

俺想瞧瞧

 回到顶部