cg代表采购
20040921代表日期
001 代表当天的第几张采购单
要怎么实现在类似于这样的增加呢?
20040921代表日期
001 代表当天的第几张采购单
要怎么实现在类似于这样的增加呢?
解决方案 »
- 不用数组如何能创建一个顺序存储的线性表?
- WinInet获取的网页源码是乱码
- TPowersock控件
- 我想在结束应用程序时写一段代码在哪里写?
- 求救,SQL数据库恢复问题
- 1000分求一篇<<旅行社管理的需求分析>>. 老板死命令,这个月不完成马上走人,5555 来者有分!!
- 使用fastreport的高人一定要看的问题:编译打印问题
- pchar怎么用?函数如何传递数组参数?问题多多!
- 急招DELPHI+SQL SERVER+Interbase或Firebird程序员(湖南)
- 想了解一下:要学好计算机——特别是编程,就一定得学好数学?
- 懂mssql2000的来帮忙!关于删除!
- 关于查询中参数的设置问题
cg20040921002代表弟二条单号
现在我要增加一条单号,想让他成为cg20040921003
也就是增加一条单号在其当天的时间里面让其最大的单号增加1
query1.sql.add(select max(字段名) from table )
ss:=copy(query1.fields[0].asstring,2,11);
ss:='cg'+IntToStr(StrToInt(ss)+1);
ADOQuery1.SQL.Add('SELECT 字段名 FROM tablename ORDER BY 字段名 WHERE substring(字段名,3,8)=''20040921''');
...ADOQuery1.Last;
...
str := 'cg' + '20040921' + RightStr(ADOQuery1.FeildS[0].AsString,3)
where datediff(day,DateField,getdate())=0执行上面的语句后可以得到当天所录入的单句数目Num最后的生成格式为:'CG'+formatfloat('0000',Yearof(Date))+formatfloat('00',monthof(date))+
formatfloat('00',dayof(date))+FormatFloat('0000',Num)
如
mLastMax:='cg20040921002';
再通过它获得下一个单号mNowMax:=copy(mLastMax,1,10)+Format('%.3d',[StrToInt(mLastMax,11,3))+1]);
如
mLastMax:='cg20040921002';
再通过它获得下一个单号mNowMax:=copy(mLastMax,1,10)+Format('%.3d',[StrToInt(copy(mLastMax,11,3))+1]);