自动生成流水号

cc加油 2014-08-04 11:41:31


如何自动生成如图所示的流水号,要求同样的单据号,对应同样的流水号。

最好求代码!!
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
程晨c 2014-08-05
  • 打赏
  • 举报
回复

function CreateID(tablename:string):string;
var
  strPer:string;
  strSql:string;
  len:integer;
  qryTmp:TADOQuery;
  intPerLength:integer;
  strID:string;
begin
  strPer:=Comm2.strMachineNo;
  qryTmp:=TADOQuery.create(nil );
  qryTmp.connection:=dmDataModule.Conn;
  qryTmp.SQL.Clear ;
  len:=length(strPer)+1;
  intPerLength:=length(strper);
  strSql:='select max(substring(ID,'+inttostr(len)+',6)) as ID  from '+tablename + ' where left(ID,' + inttostr(intPerLength) + ')=''' + strper + '''';
  qryTmp.SQL.Text:=strSql;
  qryTmp.Open;
  if qryTmp.Fields[0].AsString='' then
  begin
    strID:=strPer + '000001';
  end
  else
  begin
    strID:=strPer + Format('%.6d',[StrToInt(qryTmp.Fields[0].asstring)+1]);
  end;
  CreateID:=strID;
  qryTmp.Close;
  qryTmp.Free;
end;
道玄希言 2014-08-04
  • 打赏
  • 举报
回复
在 OnDrawColumnCell 事件内,直接代码画流水号~
海阔天空1977 2014-08-04
  • 打赏
  • 举报
回复
通过一个函数就可以实现,再与DBGRID结合,效果会更加明显。
lyhoo163 2014-08-04
  • 打赏
  • 举报
回复
所谓流水号,就是随着时间递增(或单据号递增),而发生的编号。它应该与时间发生关系,相关联。
功能包含标注、文本、路径、颜色、画板、包装、拼板、设计、输出和效果等大类,常用功能如:标注横尺寸,标注纵尺寸,标注尺寸,轻松画包装1,轻松画包装2,天地盖盒子,绘制手提袋,绘制外箱,生成出血线,文本段落分行,段落行合并,文本段落转换,单行拆单字,字体转曲,大小写转换,查找专色,两者换位,选择导出-PSD,导出jpg,选择导出jpg,选择增强,随机填色,圆角插件,锚点分割路径,等分路径,建立等分圆,测量路径长度,点到点连线,节点延伸,解锁全部对象,统一画板尺寸,当前画板矩形,全部画板矩形,垂直两分,水平两分,插入页码等,多图层转多画板,页面适配对象,裁切标记,印前角线,一键拼版,自动拼版,阵列复制,标记线生成,创建参考线,打开多页PDF,置入PDF多页面,条形码及二维码,色标生成器,移除叠印属性,移除非纯黑叠印,解散全部群组,批量替换链接图,链接文件打包,全部颜色转黑,查找白色叠印,删除所有蒙版,正则编辑文本,流水号生成器,统计所选对象,。 作者会持续更新,如果您有需要的功能,可以给作者留言,作者闲时进行制作。欢迎下载使用,安装完毕之后,在窗口菜单>扩展>知了插件,打开即可使用。

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧