报告使用 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
我正在通过在 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