I'm not sure if you've considered this already, but you could create a function [VBA] that does all your logic.
You can pass your function the Month [M2, M3 . . .] and have it return the relevant data to you.
I'm not sure I understand exactly what you need to do but . . .
Your function might look something like this:
Code:
Function MonthInfo(MonthName as String) As Double
Dim MthNm as String
MthNm = MonthName
Select Case MthNm
Case "M1"
'Do something here . . .
Case "M2"
'Do something here . . .
End Select
End Function
In the Query, your field will look something like this:
FieldName: MonthInfo(MonthName)
I'm not sure I have totally understood your scenario - but you might be able to take what I've given you and run with it.
Let me know if you have questions.