with qry_made_no do ///查找最大值编号Tadoquery
begin
close;
sql.Clear;
sql.Add('select * from 表名 order by ‘索引号’ desc' );// 用降序的方法拿到最新的记录
open;
end;
data= strtoint(copy(qry_made_no.fieldbyname('编码号').AsString,15,6))+1
str:='wzgl_'+formatdatetime('yyyymmdd',now)++'_'+format('%6s',data);
end;
在table.insert之后:
var
data:integer;
str:string;
begin
with qry_increase do ///查找最大值编号Tadoquery
begin
close;
sql.Clear;
sql.Add('select * from 表名 order by 编号 desc' );// 用降序的方法拿到最新的记录
open;
end;
qry_increase.first
data= strtoint(copy(qry_made_no.fieldbyname('编号).AsString,15,6))+1
str:='wzgl_'+formatdatetime('yyyymmdd',now)++'_'+format('%6s',data);
end;
用两个字段来实现:sID,CodeID。
设置sID为自动增长型字段,即为identity(1,1)。每次增加一条记录时,系统自动产生一个
sID,用'select max(sID) from 表'取出最大的sID即刚刚新增记录的sID,根据你的编码规则,
:wzgl+当前日期(年月日)+最大的sID的值,将这个组装的字符串赋给刚刚新增记录的CodeID
字段,即'update 表 set CodeID=wzgl+当前日期(年月日)+最大的sID的值 WHERE sID=最
大的sID',最大的sID就是你在上面用'select max(sID) from 表'取得的sID