A family of Microsoft relational database management systems designed for ease of use.
Everything was set right, but there was some weirdness in that the query was reading the Text control for the month as a number rather than a text string.
Sounds like a good example of why parameters should always be declared, other than when testing for OR <parameter> IS NULL to make them optional. In such cases a declared parameter can't evaluate to NULL, except where declared as DATETIME. Date parameters are different from other data types in this respect and can be NULL, so should always be declared to avoid their inadvertently being interpreted as arithmetical expressions and thus returning the wrong values.