Code:
TRANSFORM Count(InnerQ.[ID]) AS CountOfID
SELECT InnerQ.[OVERALL], Count(InnerQ.[ID]) AS [Total Of ID]
FROM
(SELECT Switch(PendingDays=0,"DAY 0",PendingDays=1,"DAY 1",PendingDays=2,"DAY 2",PendingDays=3,"DAY 3",PendingDays=4,"DAY 4",PendingDays=5,"DAY 5",PendingDays=6,"DAY 6",PendingDays=7,"DAY 7",PendingDays=8,"DAY 8",PendingDays=9,"DAY 9",PendingDays>=10,"DAY TEN+") AS OVERALL, tblPendingSamples.HOLDREASON, tblPendingSamples.ID
FROM tblPendingSamples
WHERE (((Switch(PendingDays=0,"DAY 0",PendingDays=1,"DAY 1",PendingDays=2,"DAY 2",PendingDays=3,"DAY 3",PendingDays=4,"DAY 4",PendingDays=5,"DAY 5",PendingDays=6,"DAY 6",PendingDays=7,"DAY 7",PendingDays=8,"DAY 8",PendingDays=9,"DAY 9",PendingDays>=10,"DAY TEN+"))<>"DAY 0"))
UNION
SELECT Switch([PendingDays]=0,"ZERO",[PendingDays]>10,"OVER10",[PendingDays]>2,"TOTAL_3TO10",[PendingDays]>0,"1TO2") AS OVERALL, tblPendingSamples.HOLDREASON,
tblPendingSamples.ID
FROM tblPendingSamples
WHERE (((Switch([PendingDays]=0,"ZERO",[PendingDays]>10,"OVER10",[PendingDays]>2,"TOTAL_3TO10",[PendingDays]>0,"1TO2"))="TOTAL_3TO10"))
UNION
SELECT Switch([PendingDays]>=0,"TOTALS") AS OVERALL, tblPendingSamples.HOLDREASON, tblPendingSamples.ID
FROM tblPendingSamples) AS InnerQ
GROUP BY InnerQ.[OVERALL]
PIVOT InnerQ.[HOLDREASON];