我正在维护并偶尔修改Access 97程序,这对于一家非常大的美国公司来说仍然是一个至关重要的部门工具.
许多报告使用"总计"子报表,我无法使用LinkChildFields\LinkMasterFields链接.在每种情况下,主报告都可以通过"报告管理器"表单按多种(或没有)标准进行过滤.
我通过使用在设计视图中打开任何子报表的通用函数来处理此问题,并编辑.Filter属性.100%正常工作.
但是,这会阻止我将应用程序作为.mde文件分发,因为设计视图在mde中不可用.
我已经尝试了我能想到的每一种选择:
虽然这个"旧"应用程序非常适合部门使用它,但他们的IT部门希望实施"全局解决方案",而且我真的不希望竞争对手免费获得大量复杂业务规则.多年来一直努力工作.
有没有人对子窗体过滤有任何建议,所以我可以使用mde?
MTIA
为什么不能使用Link Child/Master链接到"totals"子报表?它应该与主报告运行相同的记录源并聚合记录.在任何情况下,如果您可以指定过滤条件,则应该能够指定返回相同值的域聚合条件(dsum,dcount,dlookup等).
在设计视图中动态编辑过滤器属性以使其工作是一个障碍.有一个原因很难,不是因为Access设计者想让你很难用动态标准嵌入子报表,而是因为这是一个坏主意.不要这样做.如果您不能在记录字段上加入子报表,或者完全删除子报表并在主报表中汇总,则报表记录源有问题.您可能已经知道这一点,但您可以在报表/页面/组页眉/页脚中的报表中对详细信息进行汇总(总和,计数等),并以此方式提供总计.
例如,如果您要为可打印发票撰写报表,则可以将订单项上方的所有内容移动到报表标题中,将订单项留作报表详细信息,并将订单项下方的所有内容移动到报表页脚中.然后你可以做sum()详细信息字段来生成你的小计,然后添加税,运费等.另一种方法是使用子项目的子项目,然后尝试从外部计算总数,而不是简单和更脆弱的方式,如果子报告发生了变化.