Code:
SELECT TD.ID, First(TD.Name), Count(TS.TimeStamp)
FROM tblScanner AS TS INNER JOIN tblDB AS TD ON TD.ID = TS.ID
WHERE TS.TimeStamp >= #10/01/2013# AND TS.Timestamp < #11/01/2013#
GROUP BY TD.ID;
The hard-coded dates with the hash-tags # around them should be replaced with a function that determines the first day of the desired month and the first day of the next month, respectively.
The reason you need "less than the first day of the next month" is that you're dealing with timestamps, and just after noon on #10/31/2013 12:20:00 PM# is mathematically greater than #10/31/2013#.