| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 968 人关注过本帖
标题:自动编号的问题
只看楼主 加入收藏
关关雎鸠
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:170
注 册:2010-4-13
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:5 
自动编号的问题
表中的“编号”字段是数值型的,10位字符,我想让该编号自动生成,要求前8位数是系统当前的年月日后两位自动加1.
例如:2010062401、2010062402、2010062501、2010062801  
……
不知怎样完成,向老师们求助了。
搜索更多相关主题的帖子: 自动 
2010-06-29 09:50
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:5 
val(dtoc(date())+"01")

2010-06-29 10:34
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
将下面代码写成一个函数,并将它设为“编号”字段的默认值即可
程序代码:
iid=VAL(DTOC(DATE(),[color=#800000; font-weight: bold]1[/color])+'01')
IF RECNO()=[color=#800000; font-weight: bold]1[/color]
    RETURN iid
RETURN .t.
ENDIF
CALCULATE  MAX(id) TO iid2
IF iid2>=iid
    RETURN iid2+[color=#800000; font-weight: bold]1[/color]
ELSE
    RETURN iid
ENDIF


[ 本帖最后由 cnfarer 于 2010-6-29 11:19 编辑 ]

★★★★★为人民服务★★★★★
2010-06-29 11:18
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
将下面代码写成一个函数(可作为存储过程),并将它设为“编号”字段的默认值即可
iid=VAL(DTOC(DATE(),1)+'01')
IF RECNO()=1
    RETURN iid
ENDIF
CALCULATE  MAX(编号) TO iid2
IF iid2>=iid
    RETURN iid2+1
ELSE
    RETURN iid
ENDIF

[ 本帖最后由 cnfarer 于 2010-6-29 11:24 编辑 ]

★★★★★为人民服务★★★★★
2010-06-29 11:20
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:5 
replace all 编号 with dtos(date())+padl(recno(),2,'0')

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-06-29 12:47
pmc1234
Rank: 5Rank: 5
等 级:职业侠客
帖 子:398
专家分:383
注 册:2010-1-6
收藏
得分:5 
请问 怎样将写的那一段程序 作为字段的默认值
2010-06-30 10:30
快速回复:自动编号的问题
数据加载中...
 
   



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

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