打印与子报表报表时多个提示。

在Access 2010,我创建2报告 - 采取员工休假,并采取员工病假。 然后,我创建了从为员工提示输入参数查询主报表。 我插入两个子报表合并到主报表。 当我打印的主报告提示我输入员工的3倍。 有没有办法来解决这个烦恼?

提前致谢。

--------------解决方案-------------

[进入员工姓名:],而不是使用文本提示参数,例如,请考虑创建一个小绑定表(姑且称之为frmCrit)。 它可以把基于Employee表的组合框cboEmployee,显示名称,但具有独特的雇员你有一个雇员,我希望......)作为其绑定列。

然后利用基础上的查询报告

= [窗体]![frmCrit]![cboEmployee]

作为员工ID字段的标准。

它的方便穿上frmCrit一个命令按钮,打开报表,并打开frmCrit而不是从你的交换机或从导航窗格中打开报表本身。

所有的报告和子报表应该使用这种技术 - 只要frmCrit是开放的,他们会期待它,而不是弹出一个提示。

至于车手约翰的回答,您可以您是否希望设置报表,以便您可以从导航窗格等直接打开它,它会自动打开对话的形式,通过将父报表的Open事件过程中的以下内容:

常量FORMNOTOPEN = 2450
昏暗的FRM作为表

在错误恢复下一页
设置FRM =窗体!FrmCrit
如果ERR = FORMNOTOPEN然后
DoCmd.OpenForm“frmCrit”,OpenArgs:= Me.Name
取消= TRUE
其他
若ERR <> 0,则
' 未知错误
MSGBOX Err.Description它将,vbExclamation,“错误”
万一
万一

如果你愿意,你可以关闭形式报告的关闭事件过程中:

DoCmd.Close acForm,“frmCrit”

至于在对话形式使用“打印报告”按钮的Click事件过程:

常量REPORTCANCELLED = 2501

在错误恢复下一页
DoCmd.OpenReport Me.OpenArgs
选择案例的Err.Number
案例0
“没有错误这样什么都不做
案例REPORTCANCELLED
“预期的错误,以便无可奈何
否则案例
“未知错误地通知用户
MSGBOX Err.Description它将
结束选择

因为报告传递它的名字的形式作为OpenArgs属性这种形式可以与一个以上的报告,其中采用相同的参数一起使用。 请注意,窗体的代码处理,如果该报告的开口取消这会发生错误。 这是为了迎合其报告中开放自己的NoData事件过程被取消,如果没有什么报道。 如果直接在代码在应用程序中其他地方打开报告还就需要处理此错误的报告的Open事件过程中的代码取消该报告的开幕如果对话形式不公开的,所以说你想从表单上的一个按钮,它提供的你会使用代码相同,上述但不是Me.OpenArgs你把名字的报告,在报价,或者更可能的参考可用报表的选择打开报告要在其中选择报告中的窗体上的控件。

感谢肯...您刚才添加了几行到我的例行报告公开的代码和我frmCrit样板!

嘿嘿。 。 很酷的想法肯。 。

我经常用约翰的sugestion。 。 它工作得很好 - 但从来没有考虑你的建议。 。 将要尝试一下的一些报道,我有酝酿。 。

其时,当你学习新的东西的好日子。 。

干杯

PaulG

谢谢你的回复。 我看到24日这个古老而要把这一个尝试。 我没有那么强的访问,并“继承”了一些这一点。 我知道有没有员工ID,但所谓的“员工姓名”字段为每个表的主键。

再次感谢您的帮助。

黛比

我曾经与劳伦斯博士大卫·怀斯,曾博士 和他的同事大卫·劳伦斯博士智者,博士

拉里是一个身材高大,金发碧眼,以及和蔼可亲的化学家; L.大卫是一个矮胖,皮肤黝黑,沉默寡言的生物学家。

主键应该满足三个desidrata:它必须是唯一的; 它应该是稳定的(不改变其随时间的值); 它应该是短(搜索效率)。 名称不能全部三个!

然而,你可以使用组合框我建议绑定[雇员姓名]字段,如果你坚持与此表的设计。

分类:办公室 时间:2015-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.679 (s). 10 q(s)