MS Access 2010将计数结果链接到单个记录

时间:2014-11-08 05:13:25

标签: sql count ms-access-2010

我在ms access 2010中编写了一个sql查询,该查询计算每月查询,用户输入month参数。它返回2列 - 月份名称和该月份的每月总查询次数。

SELECT Format([DateOfEnquiry],"mmmm") AS [Month], Count(T_Enquiry.[DateOfEnquiry]) AS TotalMonthlyEnquiries
FROM T_Enquiry
GROUP BY Format([DateOfEnquiry],"mmmm")
HAVING (((Format([DateOfEnquiry],"mmmm"))=[Enter full name of month]));

运行此查询后,是否可以单击TotalMonthlyEnquiries列中的值,并让Access运行另一个查询,该查询返回与该值对应的各个记录(FamilyName,{等字段来自FirstName的{​​1}},EmailPhoneDateOfEnquiry)?如果可能的话,如何在ms access 2010中实现这一目标?

1 个答案:

答案 0 :(得分:0)

这是在2007年,但如果不相同,应该非常相似。使用上面的查询创建查询(本例中为Query1)。创建另一个查询,从T_Enquiry(FamilyName,FirstName,Email,Phone,DateOfEnquiry)获取您想要的详细数据作为Query2。

基于Query1创建数据表表单(在本例中我称之为frmQuery1) - 我只是使用表单向导来节省时间。打开表单进行编辑,右键单击TotalMonthlyEnquiries文本框,然后转到Properities。在“格式”选项卡上,将“DisplayAsHyperlink”设置为“Always”(这将指示用户可以单击链接。在OnClick上甚至在文本框上,输入以下代码:

Private Sub TotalMonthlyEnquiries_Click()

    DoCmd.OpenForm "frmQuery2", acFormDS

    Forms!frmQuery2.Filter = "Format([DateOfEnquiry], ""mmmm"") = '" & Me![Month] & "'"
    Forms!frmQuery2.FilterOn = True

End Sub

保存frmQuery1。从Query2(详细数据)创建另一个基于向导的数据表格,并将其保存为frmQuery2。

现在打开frmQuery1 - 您将被要求提供一个月。当你这样做并且数据表出现时,该数量应该是超链接的。单击超链接,frmQuery2应该打开,只显示相关月份的数据。

只是简单地打开另一个表单并将值从第一个表单传递给第二个表单(在本例中为月份名称)作为filter参数。有更复杂的方法可以做到这一点,但这是最简单的方法之一。祝你好运。