环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2756|回复: 0
打印 上一主题 下一主题

报表打印时回写打印人/打印时间/打印次数

[复制链接]

131

主题

154

帖子

1161

积分

超级版主

机总

Rank: 8Rank: 8

积分
1161
QQ
跳转到指定楼层
楼主
发表于 2016-5-4 18:47:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhouf 于 2016-6-1 10:20 编辑

报表打印时回写打印人/打印时间/打印次数

1. 进入报表设计环境
  
2. 开始编写代码
  
3. 填写代码内容(参见附A)
  

附A:
  1. procedure rptMainOnReportPrint(Sender: TfrxComponent);
  2. var
  3.   sBillNo: string;
  4.   qryCmd: TfrxADOQuery;         
  5. begin
  6.   //获取数据集的单据号列表            
  7.   with TfrxADOQuery(MasterData1.DataSet) do
  8.   begin
  9.     first;
  10.     while not Eof do
  11.     begin
  12.       sBillNo := sBillNo+','+FieldByName('入检单号').Asstring;
  13.       Next;
  14.     end;           
  15.   end;
  16.   //ShowMessage(sBillNo);

  17.   //回写打印次数/打印人/打印时间               
  18.   qryCmd := TfrxADOQuery.Create(nil);
  19.   //qryCmd.Database := TfrxADOQuery(MasterData1.DataSet).Database;
  20.   try
  21.     qryCmd.SQL.Text :=
  22.       ' UPDATE a SET '
  23.      +'  iPrintCount = ISNULL(a.iPrintCount,0)+1 '
  24.      +'  ,sPrintMan = '+QuotedStr(<CurrentUserId>)
  25.      +'  ,tPrintTime = GETDATE() '
  26.      +' FROM dbo.imClothesInHdr a(NOLOCK) '
  27.      +' WHERE a.sBillNo IN (SELECT * FROM dbo.fnpbConvertStringToTable('+ QuotedStr(sBillNo) +','',''))'
  28.      +'   AND (a.tPrintTime IS NULL OR a.tPrintTime < DATEADD(SECOND,-2,GETDATE()));';  //两次报表防止重复更新
  29.     //qryCmd.Open;
  30.     qryCmd.ExecSQL;
  31.   finally
  32.     qryCmd.Free;                             
  33.   end;
  34. end;
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|上海环思 ( 沪ICP备11022428号 )

GMT+8, 2024-9-17 09:54 , Processed in 0.073828 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表