使用过滤器显示单个表单上的总记录数

时间:2015-04-15 18:45:12

标签: forms filter ms-access-2003

我有一个跟踪未完成任务的数据库。此表单的数据存储在名为tblTask​​s的表中。唯一标识符是TaskNumber。表单有两个下拉菜单,用于过滤记录。您选择一个客户端名称并选择一个任务(任务描述)。然后它显示此客户端和此任务的所有未完成项目(类似地,您可以只基于客户端进行过滤)。我希望屏幕顶部的文本框显示当前记录,另一个显示总记录(在过滤器之后)。当表单打开时,我会像这样调整此文本框的controlsource。

Me!RecHigh.ControlSource = "=DCOUNT('[TaskNumber]', 'tblTasks', '[DateComplete] Is Null')"

RecHigh是我希望记录计数显示的文本框的名称。这非常有效。问题是,一旦用户开始选择客户端和任务,我就无法使用此过滤器。我认为可能只是我似乎无法正确使用语法。有人可以帮忙吗?这就是我现在所拥有的。它没有给出错误,而是显示总记录数为0,即使有很多。

Me!RecHigh.ControlSource = "=DCOUNT('[TaskNumber]', 'tblTasks', '[Client]='' & Client & '' And [TaskDescription]='' & Descr & '' And [DateComplete] Is Null')"

客户端是由组合框cmbClientName定义的变量,而Descr是由组合框cmbTaskD定义的变量。两者都正确填充,表单过滤我想要的方式。以下是过滤器的工作代码。

Client = Me.cmbClient.Value
Descr = Me.cmbTaskDesc.Value

Me.FilterOn = False
Me.Filter = "[Client]='" & Client & "' And [TaskDescription]='" & Descr & "' And [DateComplete] Is Null"
Me.FilterOn = True

任何帮助将不胜感激。我意识到你可以在底部添加导航按钮并得到类似的东西,但我试图基本上以自定义方式为表单重建该功能。如果有更好的方法,我也愿意采用其他方法来完成这项工作。我希望有一些简单的东西,比如= DCOUNT()或= Form.RecordCount等等,但我似乎无法找到任何允许计算过滤记录的功能。我之前的所有尝试最终都显示了表中所有记录的总计数,无论表单是否已过滤。

1 个答案:

答案 0 :(得分:0)

经过一些额外的搜索,我发现了我正在寻找的东西。该站点显示了如何创建自定义导航按钮。 http://www.databasedev.co.uk/navigat...ord-count.html