As FY13-Q1,FY13-Q2,FY13-Q3,FY13-Q4,FY14-Q1 appears to be a comprehensive list, you can use IN
TRANSFORM Sum(aTable.aNumber) AS SumOfaNumber
SELECT aTable.aText, Sum(aTable.aNumber) AS [Total Of aNumber]
FROM aTable
GROUP BY aTable.aText
PIVOT "FY" & Format(ADate,"yy") & "-Q" & Format([ADate],"q")
In ("FY13-Q1","FY13-Q2","FY13-Q3","FY13-Q4","FY14-Q1");
You can add the headers using the Column Header property in the query design window, or simply type in the SQL view window.
Note that if you omit a value form IN, the column will not show, even if there is data.
If you build the queries in VBA, you can change the headers list to suit the quarters you wish to use, or else omit the formatting (FY13-01 etc), so MS Access returns Qtr 1, Qtr 2 etc.
You can then join the data in which ever way suits:
SELECT atable_crosstab.[FY13-Q1],
atable_crosstab2.[FY13-Q1] AS [Per Q1],
atable_crosstab.[FY13-Q2],
atable_crosstab2.[FY13-Q2] AS [Per Q2],
atable_crosstab.[FY13-Q3],
atable_crosstab2.[FY13-Q3] AS [Per Q3],
atable_crosstab.[FY13-Q4],
atable_crosstab2.[FY13-Q4] AS [Per Q4]
FROM atable_crosstab
INNER JOIN atable_crosstab2
ON atable_crosstab.atext = atable_crosstab2.atext;
However, you will not be able to have a header that runs across two columns.
Here is a sketch in VBA
Sub BuildCrosstab()
Dim sBase As String
Dim iQtr, iYear, iStartYear, iEndYear
Dim sIn As String
Dim CurDate As Date
Dim qdf As QueryDef
sBase = "TRANSFORM Sum(aTable.aNumber) AS SumOfaNumber " _
& "SELECT aTable.aText, Sum(aTable.aNumber) AS [Total Of aNumber] " _
& "FROM aTable " _
& "GROUP BY aTable.aText " _
& "PIVOT ""FY"" & Format(ADate,""yy"") & ""-Q"" & Format([ADate],""q"") In "
iStartYear = Year(Date) - 1
iEndYear = Year(Date)
For iYear = iStartYear To iEndYear
CurDate = DateSerial(iYear, 1, 1)
For iQtr = 1 To 4
If CurDate <= Date Then
sIn = sIn & ",""" & "FY" & Format(CurDate, "yy") & "-Q" _
& Format(CurDate, "q") & """"
CurDate = DateAdd("q", 1, CurDate)
End If
Next
Next
sIn = "(" & Mid(sIn, 2) & ")"
''This query exists
Set qdf = CurrentDb.QueryDefs("ATable_Crosstab")
qdf.SQL = sBase & sIn
End Sub