首页 文章

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

提问于
浏览
0

我通过在VBA中编写查询来提取访问报告,并且它已连接表 . 问题是报告现在在报告中提取重复值 .

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”表中提取名称,该表只有唯一的名称记录,并且在“vEmployment_Status”中处于“活动状态” . 并且它们各自的记录数量(计数公式在报告中使用)在“出勤”表中,日期应该在日期选择器控件的日期之间 . “Mylist”是一个数组,包含根据列表框中的列表框过滤的某些团队形成 .

这里,如果有n个日期,报告不会从TeamDetails_v1中提取单个名称记录,而是提取n个相同的数据 . 我在报告中只提供了一个文本框,其控制源为“TeamDetails_v1.vName” . 我使用JOIN有什么问题,还是文本框字段控制源?

1 回答

  • 1

    您是否尝试在SELECT之后输入关键字“Distinct”

    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
    

相关问题