首 页 开发联盟 开发培训 下载中心 相关教程 点击排行 留言 开发手册
 
用户名:     密 码:     验证码:   
 
宏达软件开发网 > 文章中心 > 系统资料 >
利用脚本功能实现只能打印一次报表←打印一次

利用脚本功能实现只能打印一次报表
发布时间: 2010/6/2 10:43:00

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

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

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

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

脚本解析:

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.  

39013999
上一篇:互联网三层--SQL计算与验证部分问题下一篇:利用按扭脚本实现“提交成功”
关于我们 | 联系方式 | 合作方式 | 相关条款 | 常见问题
公司地址:山东省聊城市振兴路西路18号楼     邮政编码:252000    客服电话:0635-8386265
版权所有:HONGDA SOFTWARE    宏达软件     鲁ICP备09000001号