经典模式

简洁实用,快捷灵活

当前位置:首页>平台开发>经典模式
全部 1208 平台特色 8 经典模式 77 流行模式 108 技术论坛 1014 经典视频 1

利用脚本功能实现只能打印一次报表

时间:2010-06-02   访问量:6909

打开报表设置窗口,如下图

首先编写打印后执行的语句,单击打印后执行脚本按钮,编写语句如下图

然后编写打印前执行的语句,单击打印前执行脚本按钮,编写语句如下图

注:在编写语句前要在内部表增加一个字段,类型不限制,这个字段起标识作用,如上图的“打印”字段。

脚本解析:

1、打印后脚本:

begin
if DataMdl_Tabledoc.Fieldbyname('打印').asstring='S' then

exit;//如果主表的打印字段其值为S,那么就退出操作。

if not ((DataMdl_Tabledoc.state=dsedit) or (DataMdl_Tabledoc.state=dsinsert)) then DataMdl_Tabledoc.edit;//如果主表不是编译或者插入状态,把主表置为编译状态。

DataMdl_Tabledoc.Fieldbyname('打印').asstring:='S';//如果主表是编译状态,调用主表打印字段,赋其值为S,这里可以赋任意的字符值。
DataMdl_Tabledoc.post;//保存主表
end.

2、打印前脚本:

begin
if DataMdl_Tabledoc.Fieldbyname('打印').asstring ='S' then
begin

//如果打印字段已经赋值为S,将系统变量SYSTEMINFO_CANPRINT标识为FALSE

SYSTEMINFO_CANPRINT:=FALSE;

Application.messagebox('当前信息已经打印过,不能再打印','打印合法检查',0);

//如果系统变量SYSTEMINFO_CANPRINT值为FALSE,弹出对话框提示不能打印的信息。
exit;
end
else
SYSTEMINFO_CANPRINT:=TRUE;//将系统变量SYSTEMINFO_CANPRINT赋值为TRUE

end.  

上一篇:互联网三层--SQL计算与验证部分问题

下一篇:利用按扭脚本实现“提交成功”

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部
备案号码:鲁ICP备09000001号-2