Few things. The combo you have for Year is corrupt. Create a new one. Recommend using a slightly different name also. Also, the SQL for your first combo does not have enough columns. The SQL should contain the ID
SELECT DISTINCT StateQ.[StateID], StateQ.[State] FROM StateQ;
and you will need to have column count = 2 the column width should be something like 0";2" and the bound column should be 1. binding column 1 will give you the value of StateID.
With that, the following should work. It did not before and something else was happening because the Year combo is corrupt.
Code:
If Not IsNull(Me.cboState) Then
Me.cmbTest.RowSource = "SELECT StateQ.YearID, StateQ.Year" & _
" FROM StateQ" & _
" WHERE StateID = " & Me.cboState & _
" ORDER BY Year"
Me.cmbTest = Null
Me.cmbTest.Requery
End If
Not sure what you did with the latest SQL but I took some an example of the previous forms recordsource and created some SQL that you can build an object with. This way you can check to make sure it is what you want. I hard coded the ID's to = 7 in the where clause
Code:
SELECT StateT.State, YearT.Year, Sum(AircraftMovementT.AirMovementMDAInbound) AS SumOfAirMovementMDAInbound, Sum(AircraftMovementT.AirMovementMDAOutbound) AS
SumOfAirMovementMDAOutbound, Sum(AircraftMovementT.AirMovementRegionalInbound) AS SumOfAirMovementRegionalInbound, Sum(AircraftMovementT.AirMovementRegionalOutbound) AS SumOfAirMovementRegionalOutbound, Sum(AircraftMovementT.AirMovementINTLInbound) AS SumOfAirMovementINTLInbound, Sum(AircraftMovementT.AirMovementINTLOutbound) AS SumOfAirMovementINTLOutbound, Sum(AircraftMovementT.AirMovementTotalTotal) AS SumOfAirMovementTotalTotal, Sum(PassengerT.PassengerMDAOutbound) AS SumOfPassengerMDAOutbound, Sum(PassengerT.PassengerRegionalInbound) AS SumOfPassengerRegionalInbound, Sum(PassengerT.PassengerRegionalOutbound) AS SumOfPassengerRegionalOutbound, Sum(PassengerT.PassengerInternationalInbound) AS SumOfPassengerInternationalInbound, Sum(PassengerT.PassengerInternationalOutbound) AS SumOfPassengerInternationalOutbound, Sum(PassengerT.PassengerTotalTotal) AS SumOfPassengerTotalTotal, Sum(PassengerT.PassengerMDAInbound) AS SumOfPassengerMDAInbound, YearT.YearID, StateT.StateID
FROM StateT INNER JOIN (YearT INNER JOIN ((AirportT INNER JOIN AircraftMovementT ON AirportT.AirportID = AircraftMovementT.AirportID) INNER JOIN PassengerT ON (PassengerT.PassengerNrID = AircraftMovementT.AircraftMovementNrID) AND (AirportT.AirportID = PassengerT.AirportID)) ON (YearT.YearID = AircraftMovementT.YearID) AND (YearT.YearID = PassengerT.YearID)) ON StateT.StateID=AirportT.[StateID]
WHERE YearT.YearID =7 AND StateT.StateID =7
GROUP BY StateT.State, YearT.Year, YearT.YearID, StateT.StateID
HAVING (((StateT.State)= 'South Australia' Or (StateT.State) = 'Tasmania' Or (StateT.State) = 'New South Wales' Or (StateT.State)='Queensland' Or (StateT.State) = 'Western Australia' Or (StateT.State) = 'Victoria' Or
(StateT.State) = 'Northern Territory' Or (StateT.State) = 'Australian Capital Territory' Or (StateT.State) = 'Australian Antartic Territory' Or (StateT.State) = 'Christmas Island' Or (StateT.State) = 'Cocos Keeling Islands' Or (StateT.State) = 'Coral Sea Island' Or (StateT.State) = 'Jervis Bay Territory' Or (StateT.State) = 'Territory of Heard Island and McDonald Islands' Or (StateT.State) = 'Norfolk Island') AND ((YearT.Year) = '1985-86' Or (YearT.Year) = '1986-87' Or (YearT.Year) = '1987-88' Or (YearT.Year) = '1988-89' Or (YearT.Year) = '1989-90' Or (YearT.Year) = '1990-91' Or (YearT.Year) = '1991-92' Or (YearT.Year) = '1992-93' Or (YearT.Year) = '1993-94' Or (YearT.Year) = '1994-95' Or (YearT.Year) = '1995-96' Or (YearT.Year)='1996-97' Or (YearT.Year) = '1997-98' Or (YearT.Year) = '1998-99' Or (YearT.Year) = '1999-00' Or
(YearT.Year) = '2000-01' Or
(YearT.Year) = '2001-02' Or (YearT.Year) = '2002-03' Or (YearT.Year) = '2003-04' Or (YearT.Year) = '2004-05' Or (YearT.Year) = '2005-06' Or (YearT.Year) = '2006-07' Or (YearT.Year) = '2007-08' Or (YearT.Year)='2008-09' Or (YearT.Year)= '2009-10' Or (YearT.Year) = '2010-11' Or (YearT.Year) = '2011-12' Or (YearT.Year) = '2012-13'))
ORDER BY StateT.State, YearT.Year;
Here is code you can place in VBA module
Code:
strSQL = "SELECT StateT.State, YearT.Year, Sum(AircraftMovementT.AirMovementMDAInbound) AS SumOfAirMovementMDAInbound, Sum(AircraftMovementT.AirMovementMDAOutbound) AS " & _
"SumOfAirMovementMDAOutbound, Sum(AircraftMovementT.AirMovementRegionalInbound) AS SumOfAirMovementRegionalInbound, Sum(AircraftMovementT.AirMovementRegionalOutbound) AS SumOfAirMovementRegionalOutbound, Sum(AircraftMovementT.AirMovementINTLInbound) AS SumOfAirMovementINTLInbound, Sum(AircraftMovementT.AirMovementINTLOutbound) AS SumOfAirMovementINTLOutbound, Sum(AircraftMovementT.AirMovementTotalTotal) AS SumOfAirMovementTotalTotal, Sum(PassengerT.PassengerMDAOutbound) AS SumOfPassengerMDAOutbound, Sum(PassengerT.PassengerRegionalInbound) AS SumOfPassengerRegionalInbound, Sum(PassengerT.PassengerRegionalOutbound) AS SumOfPassengerRegionalOutbound, Sum(PassengerT.PassengerInternationalInbound) AS SumOfPassengerInternationalInbound, Sum(PassengerT.PassengerInternationalOutbound) AS SumOfPassengerInternationalOutbound, Sum(PassengerT.PassengerTotalTotal) AS SumOfPassengerTotalTotal, Sum(PassengerT.PassengerMDAInbound) AS SumOfPassengerMDAInbound, YearT.YearID, StateT.StateID " & _
"FROM StateT INNER JOIN (YearT INNER JOIN ((AirportT INNER JOIN AircraftMovementT ON AirportT.AirportID = AircraftMovementT.AirportID) INNER JOIN PassengerT ON (PassengerT.PassengerNrID = AircraftMovementT.AircraftMovementNrID) AND (AirportT.AirportID = PassengerT.AirportID)) ON (YearT.YearID = AircraftMovementT.YearID) AND (YearT.YearID = PassengerT.YearID)) ON StateT.StateID=AirportT.[StateID] " & _
"WHERE YearT.YearID = " & Me.cmbTest.Column(0) & " AND StateT.StateID = " & Me.cboState.Column(0) & _
" GROUP BY StateT.State, YearT.Year, YearT.YearID, StateT.StateID " & _
"HAVING (((StateT.State)= 'South Australia' Or (StateT.State) = 'Tasmania' Or (StateT.State) = 'New South Wales' Or (StateT.State)='Queensland' Or (StateT.State) = 'Western Australia' Or (StateT.State) = 'Victoria' Or " & _
"(StateT.State) = 'Northern Territory' Or (StateT.State) = 'Australian Capital Territory' Or (StateT.State) = 'Australian Antartic Territory' Or (StateT.State) = 'Christmas Island' Or (StateT.State) = 'Cocos Keeling Islands' Or (StateT.State) = 'Coral Sea Island' Or (StateT.State) = 'Jervis Bay Territory' Or (StateT.State) = 'Territory of Heard Island and McDonald Islands' Or (StateT.State) = 'Norfolk Island') AND ((YearT.Year) = '1985-86' Or (YearT.Year) = '1986-87' Or (YearT.Year) = '1987-88' Or (YearT.Year) = '1988-89' Or (YearT.Year) = '1989-90' Or (YearT.Year) = '1990-91' Or (YearT.Year) = '1991-92' Or (YearT.Year) = '1992-93' Or (YearT.Year) = '1993-94' Or (YearT.Year) = '1994-95' Or (YearT.Year) = '1995-96' Or (YearT.Year)='1996-97' Or (YearT.Year) = '1997-98' Or (YearT.Year) = '1998-99' Or (YearT.Year) = '1999-00' Or " & _
"(YearT.Year) = '2000-01' Or " & _
"(YearT.Year) = '2001-02' Or (YearT.Year) = '2002-03' Or (YearT.Year) = '2003-04' Or (YearT.Year) = '2004-05' Or (YearT.Year) = '2005-06' Or (YearT.Year) = '2006-07' Or (YearT.Year) = '2007-08' Or (YearT.Year)='2008-09' Or (YearT.Year)= '2009-10' Or (YearT.Year) = '2010-11' Or (YearT.Year) = '2011-12' Or (YearT.Year) = '2012-13')) " & _
"ORDER BY StateT.State, YearT.Year;"
Form SumStateF
and
qry_A_A_A
Are the objects I used.