自动赋值?(50分)

  • 主题发起人 主题发起人 ydn81
  • 开始时间 开始时间
Y

ydn81

Unregistered / Unconfirmed
GUEST, unregistred user!
有一表中有产品编号,日期。。。。我想自动给产品编号,日期赋值,日期为NOW,产品编号
的值为日期中年的后两个数字+月的两个数字+日的两个数字另外三个数字三个数字是根据日
期变化的,第一条记录三个数字为001,(以今天为准产品编号组合来为(010530001))
当后一条记录的日期同前一条记录的日期相同时,三个数字为002,不同时,还是001,该
怎样写代码?急!
 
//以下只提供算法框架,语法当然不是这样的了。
table.last;// 定位于最后一条记录
if table.日期=now then
新的编号:=table.编号+1
else //新的一天
新的编号:=年+月+日+01;

table.insert;
table.编号:=新的编号;table.日期:=now;
talbe.post;

相关函数 : inttostr() strtoint() datetimetostr() strtodatetime() .....
DecodeDate() 这个函数从日期中分出年月日,具体看delphi help 吧
table.fieldbyname('日期').value
 
Michael兄,算法不错
但因为新增的编号, 有可能不是当天的
所以建议再用Tquery, 来搜寻新增日期的最大值
 
//新的编号:=table.编号+1
编号应该是字符型的,因此这句得稍做修改:
新的编号:=copy(table.编号,1,6)+inttostr(strtoint(copy(table.编号,7,3))+1)

呵呵,写得乱七八糟,看看帮助吧!
 
接受答案了.
 
后退
顶部