报告使用 JOIN 访问拉取重复值

Report pulling duplicate values with JOIN access

我正在通过在 VBA 中编写查询来获取访问报告,并且它加入了 tables。 问题是报告现在正在提取报告中的重复值。

ReCrt1 = "SELECT TeamDetails_v1.vName 
            FROM TeamDetails_v1 
            LEFT JOIN Attendance ON TeamDetails_v1.vName = Attendance.Name 
            WHERE ([Attendance!Team] In ('" & Mylist & "')) 
                AND ([Attendance!Dates]>Forms!AttendanceSummary!DTPicker0) 
                AND ([Attendance!Dates]<Forms!AttendanceSummary!DTPicker6) 
                AND ([TeamDetails_v1.vEmployment_Status]='Active')"
DoCmd.OpenReport "Monthly Report", acViewReport, , , , ReCrt1

SQL 语句中的换行符不在代码中。我把它放在那里是为了你方便。

我需要报告从 "TeamDetails_v1" table 中提取姓名,其中只有唯一的姓名记录并且 'active' 在 "vEmployment_Status" 中。 "Attendance" table 中各自的记录数(报告中使用了计数公式),其中日期应介于日期选择器控件的日期之间。"Mylist" 是包含某些团队的数组根据表单中的列表框进行过滤。

此处,如果有 n 个日期,则报表不会从 TeamDetails_v1 中提取单个姓名记录,而是提取 n 个相同的数据。 我在报告中只提供了一个文本框,其控件源为 "TeamDetails_v1.vName"。 我使用的 JOIN 有问题还是文本框字段控制源?

您是否尝试将关键字 "Distinct" 放在 SELECT

之后
 ReCrt1 = "SELECT DISTINCT TeamDetails_v1.vName FROM TeamDetails_v1 LEFT JOIN Attendance ON TeamDetails_v1.vName = Attendance.Name 
    WHERE ([Attendance!Team] In ('" & Mylist & "')) And ([Attendance!Dates]>Forms!AttendanceSummary!DTPicker0) And 
    ([Attendance!Dates]<Forms!AttendanceSummary!DTPicker6) And ([TeamDetails_v1.vEmployment_Status]='Active')"

        DoCmd.OpenReport "Monthly Report", acViewReport, , , , ReCrt1