Premesso che la funzione CHOOSE è estremamente lenta da test che ho fatto in passato, e questo, nel caso di Tabelle con molti dati si manifesta in modo evidente poi in caso di Queries...
Reputo tuttavia che l'idea della Funzione sia la soluizione migliore, ma opterei per una cosa simile
Public Function Conv2Fiscal(MeseIn As Integer) As Integer
If MeseIn<0 OR MeseIn>12 Then
MeseIn=-1
Exit Function
End if
Select Case MeseIn
Case Is<11
Conv2Fiscal=MeseIn+2
Case Else
Conv2Fiscal=MeseIn-10
End Select
End Sub
Chiaramente questa è semplificabile anche con un IIF semplificato nella Query
MESE FISCALE:IIF(Mese<11; Mese+2; Mese-10)
Dopo di che se si vuole Ottenere il Nome del Mese per esteso... userei la Funzione nativa:
Function MonthName(Month As Long, [Abbreviate As Boolean = Falso]) As String
Membro di VBA.Strings
Returns localized month name