以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 单据编号按月排序 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100779) |
-- 作者:zswushi -- 发布时间: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,该怎样改代码,谢谢 |
-- 作者:有点色 -- 发布时间:2017/5/18 12:13:00 -- 代码没问题的,请重新打开重新测试。 |
-- 作者:zswushi -- 发布时间:2017/5/18 15:35:00 -- 之前开了很多单,搞混了,可以啦,非常感谢! |