以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 销售单编号 根据什么设计 最科学? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60162) |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:15:00 -- 销售单编号 根据什么设计 最科学? 销售单编号 根据什么设计 最科学? |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:16:00 -- 特别是在多用户下操作 |
-- 作者:有点甜 -- 发布时间:2014/11/19 14:17:00 -- 原本的生成有问题? |
-- 作者:有点甜 -- 发布时间:2014/11/19 14:17:00 -- 多用户也可以啊,不是告诉过你了么。 |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:21:00 -- 就是几个用户同时开单 销售单号 采取保存的时候重新生成一次 ,做到了不重复 ,但是碰到一个问题 ,如果修改日期了,会影响以后生成的销售单号,因为销售单号是根据日期来计算的 重新生成的代码如下 \'\'重新生成销售单号 Dim d As Date = Tables("销售单").current("销售日期") Dim bh As String = "XS" & Format(d,"yyMMdd") \'生成销售单号的前6位,4位年,2位月. Dim max As String Dim idx As Integer max = DataTables("销售单").sqlCompute("Max(销售单号)","销售日期 = \'" & d & "\' And [_Identify] <> " & Tables("销售单").current("_Identify")) \'取得当天的最大销售单号 \'max = DataTables("销售单").sqlCompute("Max(销售单号)","销售日期 = \'" & d & "\'") \'取得当天的最大销售单号 If max > "" Then \'如果存在最大销售单号 idx = CInt(max.Substring(9,3)) + 1 \'获得最大销售单号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If Tables("销售单").current("销售单号") = bh & "-" & Format(idx,"000") vars("djh")=Tables("销售单").current("销售单号") forms("销售单").Controls("Label1").text=vars("djh") \'\'重新生成销售单号 如果有人修改了以前销售单日期,那么就会影响新保存的销售单号计算了,不修改日期 没有问题的
|
-- 作者:有点甜 -- 发布时间:2014/11/19 14:23:00 -- 那你就不要根据销售日期生成啊。
直接根据今天的日期生成。 Date.Today |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:28:00 -- 思路对了 多谢 |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:40:00 -- 也不对啊 第二笔销售单号 怎么取数 |
-- 作者:jswjyjf -- 发布时间:2014/11/19 14:41:00 -- \'\'根据当天日期重新生成销售单号 Dim d As Date = date.today Dim bh As String = "XS" & Format(d,"yyMMdd") \'生成销售单号的前6位,4位年,2位月. Dim max As String Dim idx As Integer max = DataTables("销售单").sqlCompute("Max(销售单号)","销售日期 = \'" & d & "\' And [_Identify] <> " & Tables("销售单").current("_Identify")) \'取得当天的最大销售单号 \'max = DataTables("销售单").sqlCompute("Max(销售单号)","销售日期 = \'" & d & "\'") \'取得当天的最大销售单号 If max > "" Then \'如果存在最大销售单号 idx = CInt(max.Substring(9,3)) + 1 \'获得最大销售单号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If Tables("销售单").current("销售单号") = bh & "-" & Format(idx,"000") vars("djh")=Tables("销售单").current("销售单号") forms("销售单").Controls("Label1").text=vars("djh") \'\'重新生成销售单号 有重复单号的 |
-- 作者:有点甜 -- 发布时间:2014/11/19 14:41:00 -- max = DataTables("销售单").sqlCompute("Max(销售单号)","销售单号 like \'" & bh & "-%\' And [_Identify] <> " & Tables("销售单").current("_Identify")) \'取得当天的最大销售单号 |