2017-08-24 67 views
0

我创建了一个表达式 =WeekDay([ApptDate]))然后在报告中将它用作一个组。有时候一周的所有日子都会出现在这个组的页脚中,有时只有五天或六天。计算一周中的天数来检测丢失的日子

Day   Appts 
Monday  10 
Tuesday  16 
Thursday  5 
Saturday  9 
Totals: 4 40 

这是很容易得到appts(40)的总和,但我需要有一个出现在此脚注部分天的计数,可以很容易的时候天都缺少发现。

+0

也许:计数(*) – June7

回答

0

你可以创建一个包含工作日名称和排列顺序(即星期一= 1单独的表,星期日= 7 ),然后创建与该表的连接以始终返回全天名称和计数。

不幸的是我现在不能包含屏幕截图(我会在今天晚上尝试添加当我回家的时候)。

SELECT  tbl_WeekDays.DayName 
      , COUNT(WeekDay(ApptDate)) AS Appts 
FROM  tbl_WeekDays LEFT JOIN DateTable ON tbl_WeekDays.DayName=WEEKDAYNAME(WeekDay(DateTable.ApptDate)) 
GROUP BY tbl_WeekDays.DayName, tbl_WeekDays.SortOrder 
ORDER BY tbl_WeekDays.SortOrder 

与左边的左边tbl_WeekDays表连接从该表中的所有记录将被退回。

我也完全限定每个字段名称与表名称,虽然你不需要这样做,如果名称不含糊。

+0

难道我不需要有一个字段可以在我的appt表中加入吗? – 985ranch

+0

您会在日期'tbl_WeekDays.DayName = WEEKDAYNAME(WeekDay(DateTable.ApptDate))' –

+0

这个表中加入它,并且应该将该连接添加到报表的记录源的select语句中?这将是一个非常长的查询....所以只是确认。 – 985ranch

0

你可以有七个叠文本框,每个工作日,与这些ControlSources:

=Abs(Sum(1=Weekday[ApptDate]))) 
=Abs(Sum(2=Weekday[ApptDate]))) 
... 
=Abs(Sum(7=Weekday[ApptDate])))