I have tried exporting to another DB... making a new one and remaking this qry... compacting and repairing... making a new 2000 db in 2003 access and then opening this in 2000. This qry will run but trying to save any change made to it closes access with no error.
Perhaps someone will be good enough to copy this into the SQL design form in access 2000 and make a minor change and hit save to see if there access closes or not.
SELECT Sum(IIf([TblPartsInfo].[PI_SolidPartID]=19 Or [TblPartsInfo].[PI_SolidPartID]=22 Or [TblPartsInfo].[PI_SolidPartID]=23,([LL_CabQty]*[P_Qty])/3,[LL_CabQty]*[P_Qty])) AS QtyParts, IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None") AS StockPartID FROM ([TblPartsInfo] INNER JOIN (([TblItems] INNER JOIN (([dbo_TblRunList] INNER JOIN ([dbo_TblLot] INNER JOIN [dbo_TblLotSpec] ON ([dbo_TblLot].[L_JobNum] = [dbo_TblLotSpec].[LS_JobNum]) AND ([dbo_TblLot].[L_PhaseNumber] = [dbo_TblLotSpec].[LS_Phase]) AND ([dbo_TblLot].[L_LotNumber] = [dbo_TblLotSpec].[LS_LotNumber])) ON ([dbo_TblRunList].[RL_JobNum] = [dbo_TblLot].[L_JobNum]) AND ([dbo_TblRunList].[RL_PhaseNumber] = [dbo_TblLot].[L_PhaseNumber]) AND ([dbo_TblRunList].[RL_RunNumber] = [dbo_TblLot].[L_RunNumber]) AND ([dbo_TblRunList].[RL_SubRun] = [dbo_TblLot].[L_SubRunNumber])) INNER JOIN [TblLotList] ON ([dbo_TblLotSpec].[LS_JobNum] = [TblLotList].[LL_JobNumber]) AND ([dbo_TblLotSpec].[LS_Phase] = [TblLotList].[LL_PhaseNumber]) AND ([dbo_TblLotSpec].[LS_LotNumber] = [TblLotList].[LL_LotNumber]) AND ([dbo_TblLotSpec].[LS_RoomGrpNum] = [TblLotList].[LL_RoomGrpNumber]) AND ([dbo_TblLotSpec].[LS_CabConstName] = [TblLotList].[LL_ConstType])) ON ([TblItems].[I_Construction] = [TblLotList].[LL_ConstType]) AND ([TblItems].[I_ItemName] = [TblLotList].[LL_CabinetName])) INNER JOIN [TblParts] ON [TblItems].[I_ItemID] = [TblParts].[P_ItemID]) ON ([TblPartsInfo].[PI_Construction] = [TblParts].[P_Construction]) AND ([TblPartsInfo].[PI_PartID] = [TblParts].[P_PartID])) LEFT JOIN [TblPartsInfo] AS [TblPartsInfo_1] ON [TblPartsInfo].[PI_CutDownPartID] = [TblPartsInfo_1].[PI_PartID]
WHERE ((([dbo_TblRunList].[RL_RunDeliveryDate]) Between [Start Date :] And [End Date :]) AND (([dbo_TblLotSpec].[LS_CabConstName])="EURO") AND (([TblPartsInfo].[PI_MaterialType])=0) AND ((IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,"Stock","CutDown"),"None"))<>"None"))
GROUP BY IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None")
ORDER BY IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None");
Perhaps someone will be good enough to copy this into the SQL design form in access 2000 and make a minor change and hit save to see if there access closes or not.
SELECT Sum(IIf([TblPartsInfo].[PI_SolidPartID]=19 Or [TblPartsInfo].[PI_SolidPartID]=22 Or [TblPartsInfo].[PI_SolidPartID]=23,([LL_CabQty]*[P_Qty])/3,[LL_CabQty]*[P_Qty])) AS QtyParts, IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None") AS StockPartID FROM ([TblPartsInfo] INNER JOIN (([TblItems] INNER JOIN (([dbo_TblRunList] INNER JOIN ([dbo_TblLot] INNER JOIN [dbo_TblLotSpec] ON ([dbo_TblLot].[L_JobNum] = [dbo_TblLotSpec].[LS_JobNum]) AND ([dbo_TblLot].[L_PhaseNumber] = [dbo_TblLotSpec].[LS_Phase]) AND ([dbo_TblLot].[L_LotNumber] = [dbo_TblLotSpec].[LS_LotNumber])) ON ([dbo_TblRunList].[RL_JobNum] = [dbo_TblLot].[L_JobNum]) AND ([dbo_TblRunList].[RL_PhaseNumber] = [dbo_TblLot].[L_PhaseNumber]) AND ([dbo_TblRunList].[RL_RunNumber] = [dbo_TblLot].[L_RunNumber]) AND ([dbo_TblRunList].[RL_SubRun] = [dbo_TblLot].[L_SubRunNumber])) INNER JOIN [TblLotList] ON ([dbo_TblLotSpec].[LS_JobNum] = [TblLotList].[LL_JobNumber]) AND ([dbo_TblLotSpec].[LS_Phase] = [TblLotList].[LL_PhaseNumber]) AND ([dbo_TblLotSpec].[LS_LotNumber] = [TblLotList].[LL_LotNumber]) AND ([dbo_TblLotSpec].[LS_RoomGrpNum] = [TblLotList].[LL_RoomGrpNumber]) AND ([dbo_TblLotSpec].[LS_CabConstName] = [TblLotList].[LL_ConstType])) ON ([TblItems].[I_Construction] = [TblLotList].[LL_ConstType]) AND ([TblItems].[I_ItemName] = [TblLotList].[LL_CabinetName])) INNER JOIN [TblParts] ON [TblItems].[I_ItemID] = [TblParts].[P_ItemID]) ON ([TblPartsInfo].[PI_Construction] = [TblParts].[P_Construction]) AND ([TblPartsInfo].[PI_PartID] = [TblParts].[P_PartID])) LEFT JOIN [TblPartsInfo] AS [TblPartsInfo_1] ON [TblPartsInfo].[PI_CutDownPartID] = [TblPartsInfo_1].[PI_PartID]
WHERE ((([dbo_TblRunList].[RL_RunDeliveryDate]) Between [Start Date :] And [End Date :]) AND (([dbo_TblLotSpec].[LS_CabConstName])="EURO") AND (([TblPartsInfo].[PI_MaterialType])=0) AND ((IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,"Stock","CutDown"),"None"))<>"None"))
GROUP BY IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None")
ORDER BY IIf([TblPartsInfo].[PI_StockPart]=-1 Or [TblPartsInfo_1].[PI_StockPart]=-1,IIf([TblPartsInfo].[Pi_StockPart]=-1,[TblPartsInfo].[PI_StockPartID] & IIf([TblPartsInfo].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),""),[TblPartsInfo_1].[PI_StockPartID] & IIf([TblPartsInfo_1].[PI_MaterialName] Like "*FN*",Trim([LS_CabMaterialName]),"")),"None");