| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 608 人关注过本帖
标题:新手问题:编号自动生成
只看楼主 加入收藏
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
 问题点数:0 回复次数:8 
新手问题:编号自动生成
那位大侠帮帮忙,怎么才能实现编号(编号=当前年月+01)自动生成??
搜索更多相关主题的帖子: 自动 
2006-03-21 13:07
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
详细说明一下 怎么编号
2006-03-21 13:36
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
得分:0 

我想做一张请款单,一个请款单的编号就是由“当前年月+01(就是200603+01,编号为、20060301)”,请问这个功能怎么才能实现?

2006-03-21 14:31
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
01
下一个02

中间要是删除一个下面的是都随着变化还是不变
2006-03-21 14:34
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
得分:0 
不管删除的那个,要不是第一次做的话,就在数据库中取最大的编号,在这个基础上加1就可以了。当然还要有一个时间的判断,如果是下个月的个话,那又从头开始了。
2006-03-21 14:40
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
得分:0 
我的思路是:编号开始为“当前年月+01”,如果不是的话,就在数据库中找最大/最近的那个编号,如果还是本月的话,就在最近的基础上加1就可以了;如果是下个月(当然在取数的时候还有个时间的判断),那么直接加1就可以了。
2006-03-21 14:44
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
保证一个月没有超过100个的

加一个日期字段来记载日期sdate
编号字段id
select (case count(id) when 0 then '01' else (max(cast(right(id,2) as int))+1) end) id from table where year(sdate)=year(getdate()) and month(sdate)=month(getdate())

读出来后在判断是否>9 否则前面加0
2006-03-21 15:46
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
得分:0 
谢谢了!!!
2006-03-23 08:11
liuyjcel
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-20
收藏
得分:0 

老兄,我用这个程序怎么老是提示有错啊。
你能不能做一个这样的,然后把这个程序再发上来啊??
谢谢了!!!

2006-03-23 10:48
快速回复:新手问题:编号自动生成
数据加载中...
 
   



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

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