Foxtable(狐表)用户栏目专家坐堂 → 单据编号按月排序


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

主题:单据编号按月排序

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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
单据编号按月排序  发帖心情 Post By:2017/5/18 11:53:00 [只看该作者]

Static bhs As new Dictionary(of String,Integer) '这个字典用于记录每个前缀的下一序号
If  e.Path =  "bianhao.htm"
    If e.PostValues.ContainsKey("开单日期") Then
        Dim max As Integer
        Dim bh As String
        Dim prefix As String = "CK" & "-" &  Format(CDate(e.PostValues("开单日期")), "yyyyMM")
        Dim prefix1 As String = "CK" & "-" &  Format(CDate(e.PostValues("开单日期")), "yyyyMMdd")
        If bhs.ContainsKey(prefix) = False Then '如果字典中不存在次前缀的序号,
            Dim cmd As New SQLCommand
            cmd.C
            cmd.CommandText = "Select max(出库系统编号) F rom {出库主表} Where 出库系统编号 Like '" & prefix & "%'"
            bh = cmd.ExecuteScalar
            If bh IsNot Nothing Then
                bh = bh.SubString(12)
                max = bh
                Integer.TryParse(bh,max)
            End If
            bhs.Add(prefix,max)
        Else
            max = bhs(prefix)
        End If
        max = max + 1
        bhs(prefix) = max
        e.WriteString(Prefix1 & "-" & Format(max,"00000"))
    End If
End If

目前代码是 按日生成 最大编号,若调成 按月生成最大编号,怎样改代码 ??  

现在代码 结果是  CK-20170517-00001、CK-20170517-00002、CK-20170517-00003,若到 下一天 18号时,又从 CK-20170518-00001、CK-20170518-00002排,

若到  18号时,我想接着 17号的最大编号 00003往下排,把18号的两个编号变成   CK-20170518-00004、CK-20170518-00005,该怎样改代码,谢谢


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


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

 代码没问题的,请重新打开重新测试。


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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2017/5/18 15:35:00 [只看该作者]

之前开了很多单,搞混了,可以啦,非常感谢!

 回到顶部