scubadiver007
Registered User.
- Local time
- Yesterday, 20:23
- Joined
- Nov 30, 2010
- Messages
- 317
I am using the select query as one of the sources for a union query from which I calculate the payments.
union query
I then use the union query to calculate payments:
Then...
and finally
If I change the crosstab back to a select query it works fine but as a crosstab I get "fieldname not recognised" error. [Practicecode] is not a parameter so I am not sure why I am getting this error.
As far as I can see the error is in the subquery because the field name changes in the error.
SELECT PracticeCode, Field_ID, Quartercode, Val(Nz([numberofpatients]-(SELECT TOP 1 T.[numberofpatients] FROM Tble_CUB_activity AS T WHERE T.PracticeCode = Tble_CUB_activity.PracticeCode AND T.[FieldName] = Tble_CUB_activity.[fieldname] AND T.[yearnum] = Tble_CUB_activity.[yearnum] AND ((T.[quarternum]) - 1) < (([Tble_CUB_activity].[quarternum]) - 1) ORDER BY Val(((T.[quarternum]) - 1)) DESC),[numberofpatients])) AS activity
FROM Tble_CUB_activity
WHERE (((Tble_CUB_activity.Field_ID) Not Like "713*") AND ((Tble_CUB_activity.Numberofpatients)>0))
ORDER BY Tble_CUB_activity.PracticeCode, Tble_CUB_activity.Quartercode;
union query
SELECT practicecode, field_id, quartercode, activity
from qry_activity_CUB
UNION SELECT practicecode, fieldid, quartercode, qtrfigs
from qry_opiates_CUB;
I then use the union query to calculate payments:
SELECT Tble_Services.ID_Service, Tble_Services.Service, Tble_Practice.GMS_PMS, Qry_CUB.practicecode, Qry_CUB.field_id, Tble_Indicator.Query, Qry_CUB.quartercode, Qry_CUB.activity, [activity]*[unitcost] AS payment
FROM Tble_Services INNER JOIN (Tble_Practice INNER JOIN (Tble_Payment INNER JOIN (Tble_Indicator INNER JOIN Qry_CUB ON Tble_Indicator.ID_Indicator = Qry_CUB.field_id) ON (Tble_Payment.ID_Indicator = Qry_CUB.field_id) AND (Tble_Payment.Quarter = Qry_CUB.quartercode)) ON Tble_Practice.Practice_Code = Qry_CUB.practicecode) ON Tble_Services.ID_Service = Tble_Indicator.ID_Service;
Then...
SELECT Qry_payment_CUB.practicecode, Qry_payment_CUB.Query, Qry_payment_CUB.payment, Qry_payment_CUB.GMS_PMS, Qry_payment_CUB.quartercode
FROM Qry_payment_CUB
WHERE (((Qry_payment_CUB.payment)>0) AND ((Qry_payment_CUB.GMS_PMS)=Eval("[forms]![menu]![pay_contract]")) AND ((Qry_payment_CUB.quartercode)=Eval("[forms]![menu]![pay_qtr]")));
and finally
TRANSFORM Sum(Qry_Payment_src.payment) AS SumOfpayment
SELECT Qry_Payment_src.practicecode
FROM Qry_Payment_src
GROUP BY Qry_Payment_src.practicecode
PIVOT Qry_Payment_src.Query;
If I change the crosstab back to a select query it works fine but as a crosstab I get "fieldname not recognised" error. [Practicecode] is not a parameter so I am not sure why I am getting this error.
As far as I can see the error is in the subquery because the field name changes in the error.
Last edited: