Hello Golom,
I've actaully inserted all the SQL into the one query, rather than referencing the query's as seperate objects. It does appear to take along time to run still though...
It's a bit of a monster I'm afraid...
SELECT BSS_Finance_Migration.Channel_Name, BSS_Finance_Migration.TX_Time, BSS_Finance_Migration.TX_Date, BSS_Finance_Migration.Series_Title, BSS_Finance_Migration.Programme_Title, BSS_Finance_Migration.House_Number, BSS_Finance_Migration.ZZ_House_Number, BSS_Finance_Migration.Unique_String, BSS_Finance_Migration.Run_Value, (IIf(IsNull([OnAir_Finance_Migration.amort_value])=True,[BSS_Finance_Migration.Run_Value],[BSS_Finance_Migration.Run_Value]-[OnAir_Finance_Migration.Amort_Value])) AS Difference
FROM (SELECT tbl_Bcst_T_chl.ulcode, tblBSS_Finance_Migration.Amort_Type, tbl_Bcst_T_chl.Channel_Name, tbl_Bcst_T_srs.Series_Title, tbl_Bcst_T_prg_finance_Rec.Programme_Title, IIf([amort_type]=1,[tblBSS_Finance_Migration].[Channel_ID] & Left([tx_time],5) & Format([tx_date],"dd/mm/yy") & [tbl_bcst_t_prg_finance_Rec].[house_number],[tblBSS_Finance_Migration].[Channel_ID] & Format([tx_date],"dd/mm/yy") & [tbl_bcst_t_prg_finance_Rec].[house_number]) AS Unique_String, tblBSS_Finance_Migration.TX_Time, tblBSS_Finance_Migration.TX_Date, tbl_Bcst_T_prg_finance_Rec.House_Number, tblBSS_Finance_Migration.House_Number AS ZZ_House_Number, tblBSS_Finance_Migration.Run_Value
FROM ((tblBSS_Finance_Migration LEFT JOIN tbl_Bcst_T_prg_finance_Rec ON tblBSS_Finance_Migration.House_Number = tbl_Bcst_T_prg_finance_Rec.Original_House_Number) LEFT JOIN tbl_Bcst_T_srs ON tbl_Bcst_T_prg_finance_Rec.Series_ID = tbl_Bcst_T_srs.Series_ID) INNER JOIN tbl_Bcst_T_chl ON tblBSS_Finance_Migration.Channel_id = tbl_Bcst_T_chl.ulcode) AS BSS_Finance_Migration
LEFT JOIN (SELECT tbl_Bcst_T_chl.ulcode, tbl_Bcst_T_chl.Channel_Name, tbl_bcst_t_chl.ulcode & [TX_Time] & Format([TX_Date],"dd/mm/yy") & Left([House_Number],8) AS Unique_String, tblOnAir_Finance_Migration.TX_Time, tblOnAir_Finance_Migration.Tx_Date, tblOnAir_Finance_Migration.Amort_Value
FROM tblOnAir_Finance_Migration INNER JOIN tbl_Bcst_T_chl ON tblOnAir_Finance_Migration.Channel_ID = tbl_Bcst_T_chl.ulcode) AS OnAir_Finance_Migration
ON BSS_Finance_Migration.Unique_String = OnAir_Finance_Migration.Unique_String
WHERE BSS_Finance_Migration.ulcode >=fSetSQLParameters("Finance_Channels_Start") And BSS_Finance_Migration.ulcode<=fSetSQLParameters("Finance_Channels_End") AND BSS_Finance_Migration.TX_Date >=fSetSQLParameters("Start_Date_Normal") And BSS_Finance_Migration.TX_Date <=fSetSQLParameters("End_Date_Normal")
ORDER BY BSS_Finance_Migration.TX_Date, BSS_Finance_Migration.TX_Time