Foxtable(狐表)用户栏目专家坐堂 → 销售单编号 根据什么设计 最科学?


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

主题:销售单编号 根据什么设计 最科学?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
销售单编号 根据什么设计 最科学?  发帖心情 Post By:2014/11/19 14:15:00 [只看该作者]

销售单编号 根据什么设计 最科学?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/11/19 14:16:00 [只看该作者]

特别是在多用户下操作

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/19 14:17:00 [只看该作者]

 原本的生成有问题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/19 14:17:00 [只看该作者]

 多用户也可以啊,不是告诉过你了么。


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By: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")
''重新生成销售单号



如果有人修改了以前销售单日期,那么就会影响新保存的销售单号计算了,不修改日期 没有问题的

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/19 14:23:00 [只看该作者]

 那你就不要根据销售日期生成啊。

 

 直接根据今天的日期生成。 Date.Today


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/11/19 14:28:00 [只看该作者]

思路对了 多谢

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/11/19 14:40:00 [只看该作者]

也不对啊 第二笔销售单号 怎么取数

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By: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")
''重新生成销售单号


有重复单号的


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/19 14:41:00 [只看该作者]

max = DataTables("销售单").sqlCompute("Max(销售单号)","销售单号 like '" & bh & "-%' And [_Identify] <> " & Tables("销售单").current("_Identify")) '取得当天的最大销售单号

 回到顶部
总数 16 1 2 下一页