【问题标题】:MS Access: Convert filtered split form with combo boxes to a reportMS Access:将带有组合框的过滤拆分表单转换为报告
【发布时间】:2018-08-24 18:54:41
【问题描述】:

由于我对软件和 VBA/SQL 缺乏了解,我再次被 Access 困住。

在努力创建自己的 VBA 代码来创建过滤器表单后,我决定求助于以前创建的表单,用户可以从那里聚合的许多表中找到所有相关信息。此表单还包括一个拆分表单,使过滤数据变得非常容易。

除此之外,我还希望能够根据过滤后的数据打印报告 - 在我决定过滤组合框之前,这相当容易。

在我的主表中,我有几个链接到其他表的外键,但在表单中我没有提供 FK/PK。我创建了一个组合框来显示 PK/FK 的含义,这也出现在拆分表单的数据表部分。当我尝试打印报告(通过按钮)时,会弹出一个参数框,要求为用于过滤的组合狐狸输入一些值。

有没有办法解决这个问题?如果可能,我希望我的报告打印具有 PK/FK 含义的字段,否则对用户没有用处。也就是说,如何让报表拉取PK/FK,但呈现对应含义的字段?

(在不过滤数据表部分的情况下,报表能够完美提取该值。)

亲切的问候,

莱辛科

【问题讨论】:

  • 请与我们分享导致弹出框的代码行(及其 sql)。或围绕它的简短子程序。有多少个过滤器?弹出是针对任何一个过滤器还是仅针对某个过滤器?或者是否需要两个过滤器才能导致弹出?这些过滤器是如何应用的?
  • @donPablo 首先,我使用拆分表单的数据表部分过滤数据(使用列,就好像它是 excel),尽管按表单使用高级过滤器会产生相同的结果.过滤器的数量对于导致此输入参数弹出并不重要,它仅在我过滤其中一个在另一个表中显示值但存储主表(PK/FK)中的值的组合框时才会发生。
  • @donPablo 我在这个表单中唯一的代码,除了我创建的一些用于在记录之间移动的按钮之外,还有一个用于打开报告预览的按钮。单击按钮时的私有子,然后在预览模式下 OpenReport,然后 If Me.FilterOn Then // With Reports![Report_Name] //.Filter=Me.Filter // .FilterOn=True // End With // End If
  • @donPablo 顺便说一句,我刚刚检查了弹出窗口中出现的消息是:Lookup_NameOfComboBox.NameOfFieldDisplayed。我不知道这是否有助于解决问题。
  • 当 Me.Filter 移入 .Filter 时,它的值是多少?您可以在此处设置断点或 debug.print 值吗?弹出窗口是否出现在 OpenReport 或 .Filter=Me.Filter 或 .FilterOn=True ??

标签: sql ms-access vba


【解决方案1】:

更新:我找到了一个粗略的解决方法。我添加了组合框的重复,但这次作为文本框,因此它们将在拆分表单的数据表部分出现两次。我将原始组合框列隐藏在数据表中,只留下文本框副本。现在我可以过滤并打印相应的结果,尽管按表单过滤不再有效,因为最初的问题仍然存在。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 2017-06-08
  • 2014-01-17
相关资源
最近更新 更多