SELECT Slots.RackName, Slots.SlotID, Slots.PartID, _
Parts.BaseI, _
IIf([Slots].[PartID]=25, _
[RackName] & ':I', _
[RackName] & ':' & [SlotID] & ':I') _
AS BaseITag
FROM Parts _
INNER JOIN Slots _
ON Parts.PartID = Slots.PartID;
For each PartID I have a field that stores the calc string.
In this case (this is the simplest of many).
[Parts].[BaseI] = "[RackName] & ':I'"
or [Parts].[BaseI] = "[RackName] & ':' & [SlotID] & ':I'"
I want to replace the IIf statement with
Eval([Parts].[BaseI]) AS BaseITag
Hopefully this is clear enough.