| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2796 人关注过本帖
标题:新手报到!!销售订单,如何让订单号自动生成~!
只看楼主 加入收藏
csgogo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-2-5
收藏
 问题点数:0 回复次数:8 
新手报到!!销售订单,如何让订单号自动生成~!
比如今天是2007-05-30,今天做第一张单的订单号为:0705300001..第二加1..0705300002!
搜索更多相关主题的帖子: 订单号 自动 销售 
2007-05-28 21:21
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 

我想那并不太难,主要就是数字与字符的转换和字符串的连接运算而已。

[此贴子已经被作者于2007-5-28 22:05:00编辑过]


两人行已有我师……
2007-05-28 21:51
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
先检测当日有无订单,如果无,则生成第一个编号;如果有,则在最大一个编号上加1生成一个新的编号。
第一个编号可以这样生成:
LcOrderNo=SUBS(AllTRIM(STR(YEAR(DATE()),3,2))+ALLTRIM(STR(MONTH(DATE()))+ALLTRIM(STR(DAY(DEATE()))+'1'
至于第二个、第三个……希望您能发挥您的潜力,也相信您能搞定(条条大路通罗马,方法肯定不止一种)。
建议,年份最好用四位,不然,如果您的寿命够长的话,又会遇到千年虫的问题了。

[此贴子已经被作者于2007-5-28 22:02:59编辑过]


两人行已有我师……
2007-05-28 21:58
csgogo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-2-5
收藏
得分:0 

谢谢楼上的两位.显示单号为TEXT1.那这句代码怎么写?

2007-05-28 22:12
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
晕死。THISFORM.TEXT1.VALUE=LcOrderNo
如果您连这句也还没学会,那还是打好基础再作设计吧。空中楼阁就算建起来也不牵靠!

两人行已有我师……
2007-05-28 22:16
chyhome
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-5-13
收藏
得分:0 
[QUOTE]先检测当日有无订单,如果无,则生成第一个编号;如果有,则在最大一个编号上加1生成一个新的编号。
第一个编号可以这样生成:
LcOrderNo=SUBS(AllTRIM(STR(YEAR(DATE()),3,2))+ALLTRIM(STR(MONTH(DATE()))+ALLTRIM(STR(DAY(DEATE()))+'1'
至于第二个、第三个……希望您能发挥您的潜力,也相信您能搞定(条条大路通罗马,方法肯定不止一种)。
建议,年份最好用四位,不然,如果您的寿命够长的话,又会遇到千年虫的问题了。
[/QUOTE]
3楼思路是对的,但存在一个问题,如果月份和日期小于10时,如2007-05-08,月份转换得到的是“5”,而不是“05”,日转换出的值是“8”,而不是“08”,这样不利于全年订单排序或索引,如果先用DTOC()函数把日期转换为字符类型再截取,就能避免这个问题。如:
LcOrderNo=ALLTRIM(substr(dtoc(DATE()),9,2))+ALLTRIM(substr(dtoc(DATE()),1,2))+ALLTRIM(substr(dtoc(DATE()),4,2))+‘0001’
另外上面LcOrderNo=SUBS(AllTRIM(STR(YEAR(DATE()),3,2))+ALLTRIM(STR(MONTH(DATE()))+ALLTRIM(STR(DAY(DEATE()))+'1'语句有错误,括号不匹配;最后一个日期函数写成了DEATE()。

2007-05-28 23:12
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
六楼说得对,这个我倒是疏忽了。
另外我一般只给思路,让发贴者自己写代码。

两人行已有我师……
2007-05-29 15:39
csgogo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-2-5
收藏
得分:0 
LcOrderNo=ALLTRIM(substr(dtoc(DATE()),9,2))+ALLTRIM(substr(dtoc(DATE()),1,2))+ALLTRIM(substr(dtoc(DATE()),4,2))+‘0001’

谢谢楼上的各位..好像这句代码后面的两个"+"号是不是不一样..
2007-05-30 10:05
songyuyu
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:6090
专家分:25
注 册:2007-1-17
收藏
得分:0 
都一样的意思

我喝水只喝纯净水,牛奶只喝纯牛奶,所以我很单纯……
2007-05-30 10:29
快速回复:新手报到!!销售订单,如何让订单号自动生成~!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016650 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved