SELECT tblWeeklyPlans.UserIDFK, tblActions.Action, tblWeeklyPlans.Loop, tblWeeklyPlans.WeekNumber, tblActions.Index, Sum(IIf([tblChallenges]![StartTime] Is Not Null And [tblChallenges]![StartTimeChallengeYes]=-1,1,0)) AS StartTimeAchievmentDays, Sum(IIf([tblChallenges]![StartTime] Is Not Null And [tblChallenges]![StartTimeChallengeYes] Or [tblChallenges]![StartTimeChallengeNo]=-1,1,0)) AS StarTimeEngagementDays, Sum(IIf([tblChallenges]![IsActivity]=-1 And [tblChallenges]![ActivityChallengeYes]=-1,1,0)) AS ActivityAchievementDays, Sum(IIf([tblChallenges]![IsActivity]=-1 And [tblChallenges]![ActivityChallengeYes] Or [tblChallenges]![ActivityChallengeNo]=-1,1,0)) AS ActivityEngagementDays, Sum(IIf([tblChallenges]![StartTime] Is Not Null,1,0)) AS PlannedStartTimeDays, Sum(IIf([tblChallenges]![IsActivity]=-1,1,0)) AS PlanedActivityDays
FROM tblWeeklyPlans INNER JOIN (tblActions INNER JOIN (tblActionsPerWeeklyPlan INNER JOIN tblChallenges ON tblActionsPerWeeklyPlan.ActionsPerWeeklyPlanID = tblChallenges.ActionsPerWeeklyPlanIDFK) ON tblActions.ActionID = tblActionsPerWeeklyPlan.ActionIDFK) ON tblWeeklyPlans.WeeklyPlanID = tblActionsPerWeeklyPlan.WeeklyPlanIDFK
GROUP BY tblWeeklyPlans.UserIDFK, tblActions.Action, tblWeeklyPlans.Loop, tblWeeklyPlans.WeekNumber, tblActions.Index
HAVING (((tblWeeklyPlans.UserIDFK)=glngUserID()) AND ((tblWeeklyPlans.Loop)=glngLoop()) AND ((tblWeeklyPlans.WeekNumber)=1) AND ((tblActions.Index)<700))
ORDER BY tblWeeklyPlans.Loop, tblWeeklyPlans.WeekNumber, tblActions.Index;