Windows 7, Access 2010.
On the Subform I have a combo that displays values 1-4 based on table CalcType. Previously we have been storing calculated values in a table, not a temp table, and using the values. The problem is updating the 4 values involves a few calculation sub's and slows the db down.
I developed a query that pulls all 4 calculation values without the intermediate tables. Great I thought, I can save all the time calcualting values.
Subform is continuous. Subform query is such that I can update fields. The problem is displaying the calculated value in a locked text box based on the value in the combo box. If I enhance the subform query to include the calculated values (I can do that) the rest of the subform fields are not updateable.
Anyone have any idea how I can display the calculated value (in a locked txt box) in a subform and still keep the rest of the subform updateable.
Subform Query:
SELECT tblPartRouteAssignment.MassUpdate, tblPartRouteAssignment.DefinedInKanban, tblPartRouteAssignment.PartNumber, tblPartInfo.Description, tblPartRouteAssignment.Station, tblPartRouteAssignment.PartStation, tblPartRouteAssignment.CalculationTypeFK, tblPartInfo.PackDensity, tblPartInfo.Container, tblPartRouteAssignment.ReceivingDock, tblPartRouteAssignment.LineFeedDeliveryType, tblPartRouteAssignment.DockUnloadType, tblPartRouteAssignment.LocFullStorage, tblPartRouteAssignment.TravDistLineFeedVA, tblPartRouteAssignment.TravDistLineFeedNVA, tblPartRouteAssignment.TravDistDockVA, tblPartRouteAssignment.TravDistDockNVA, tblPartRouteAssignment.StackHtReceiving, tblPartRouteAssignment.StackHtLFDelivery, tblPartRouteAssignment.StackHtTrainLen, tblPartRouteAssignment.StackHtEmpties, tblPartRouteAssignment.EmptyTrailer
FROM (tblDockHandling RIGHT JOIN ((((tblPartRouteAssignment LEFT JOIN tblPartStation ON (tblPartRouteAssignment.PlantCode = tblPartStation.PlantCode) AND (tblPartRouteAssignment.PartNumber = tblPartStation.PartNumber) AND (tblPartRouteAssignment.Station = tblPartStation.Station) AND (tblPartRouteAssignment.ModelYear = tblPartStation.ModelYear)) LEFT JOIN tblPartInfo ON (tblPartRouteAssignment.PlantCode = tblPartInfo.PlantCode) AND (tblPartRouteAssignment.PartNumber = tblPartInfo.PartNumber) AND (tblPartRouteAssignment.ModelYear = tblPartInfo.ModelYear)) LEFT JOIN tblRouteInfo ON (tblPartRouteAssignment.PlantCode = tblRouteInfo.PlantCode) AND (tblPartRouteAssignment.Route = tblRouteInfo.Route) AND (tblPartRouteAssignment.ModelYear = tblRouteInfo.ModelYear)) LEFT JOIN tblLinefeedHandling ON tblPartRouteAssignment.LineFeedDeliveryType = tblLinefeedHandling.LineFeedHandlingID) ON tblDockHandling.DockID = tblPartRouteAssignment.DockUnloadType) LEFT JOIN tblEfficiencyModelType ON tblRouteInfo.EffModelTypeFK = tblEfficiencyModelType.EffModelTypePK
WHERE (((tblPartRouteAssignment.PlantCode)=[Forms]![frmBaseRouteAssignment]![txtPlantCode]) AND ((tblPartRouteAssignment.ModelYear)=[Forms]![frmBaseRouteAssignment]![txtModelYear]))
ORDER BY tblPartRouteAssignment.Route, tblPartRouteAssignment.PartNumber, tblPartInfo.Description;
Calculation Query:
SELECT tblRouteInfo.PlantCode, tblRouteInfo.ModelYear, tblRouteInfo.Route, tblRouteInfo.Department, tblRouteInfo.JobType, tblRouteInfo.Validated, tblRouteInfo.NumberofDrivers, tblRouteInfo.BattChange, tblRouteInfo.SafetyChk, tblRouteInfo.AddlMinPerShiftRt, tblRouteInfo.TravelSpeed, tblRouteInfo.SmallLotNumStops, tblRouteInfo.SmallLotDelyCycles, tblRouteInfo.RouteComment1, tblRouteInfo.RouteComment2, tblEfficiencyModelType.EfficiencyModelType, tblPartRouteAssignment.PartNumber, tblPartRouteAssignment.Station, tblPlantInfo.WorkingMinPerShift, tblPlantInfo.ShiftsPerDay, tblPartRouteAssignment.LineFeedDeliveryType, tblPartRouteAssignment.DockUnloadType, tblPartRouteAssignment.ReceivingDock, tblPartRouteAssignment.LocFullStorage, tblPartRouteAssignment.LocLineFeedStaging, tblPartRouteAssignment.LocEmptyStorage, tblPartRouteAssignment.LocDockReturn, tblPartInfo.Description, tblPartRouteAssignment.CalculationTypeFK, Nz((IIf([tblPartRouteAssignment]![CalculationTypeFK]=1,[CalcType1BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=2,[CalcType2BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=3,[CalcType3BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=4,[CalcType4BldRt])),0) AS PSBld_Rate, tblPartInfo.PackDensity, tblPartInfo.Container, tblPartInfo.Length, tblPartInfo.Width, tblPartInfo.Height, IIf(Nz([PackDensity],0)<=0,0,[PSBld_Rate]/[PackDensity]) AS COPD, tblLinefeedHandling.LineFeedType, tblLinefeedHandling.LineFeedHandlingVA, tblLinefeedHandling.LineFeedHandlingNVA, tblLinefeedHandling.StagingHandlingVA, tblLinefeedHandling.StagingHandlingNVA, tblLinefeedHandling.EmptyReturnHandlingVA, tblLinefeedHandling.EmptyReturnHandlingNVA, tblDockHandling.UnloadType, tblDockHandling.DockHandlingVA, tblDockHandling.DockHandlingNVA, tblPartRouteAssignment.StackHtReceiving, tblPartRouteAssignment.StackHtLFDelivery, tblPartRouteAssignment.StackHtEmpties, IIf([EfficiencyModelType]="FORKLIFT",(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtLFDelivery])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtReceiving])+(([EmptyReturnHandlingVA]+[EmptyReturnHandlingNVA])/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingVA]+[LineFeedHandlingNVA])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtTrainlen]),(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtTrainlen])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtTrainlen]))))+[AddlMinPerShiftPt] AS HdlgPerCont, tblPartRouteAssignment.TravDistLineFeedVA, tblPartRouteAssignment.TravDistLineFeedNVA, tblPartRouteAssignment.TravDistStagingVA, tblPartRouteAssignment.TravDistStagingNVA, tblPartRouteAssignment.TravDistDockVA, tblPartRouteAssignment.TravDistDockNVA, tblPartRouteAssignment.TravDistEmptyVA, tblPartRouteAssignment.TravDistEmptyNVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtLFDelivery])+(([TravDistStagingVA]+[TravDistStagingNVA])/[StackHtReceiving])+(([TravDistEmptyVA]+[TravDistEmptyNVA])/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelVA]+[SmallLotTravelNVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtTrainLen])+(([TravDistStagingVA]+[TravDistStagingNVA])/[StackHtTrainLen]),(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtTrainLen])))) AS TravelPerTrip, [TravelPerTrip]*(60/(5280*[TravelSpeed])) AS TravelMinPerTrip, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerCont]+[TravelMinPerTrip],[HdlgPerCont]) AS AllocPerCont, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,([AllocPerContVA]+[AllocPerContNVA])*[COPD])) AS LFAllocation, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,[AllocPerContVA]*[COPD])) AS LFAllocationVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,[AllocPerContNVA]*[COPD])) AS LFAllocationNVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,([DockAllocPerContVA]+[DockAllocPerContNVA])*[COPD])) AS DockAllocation, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,[DockAllocPerContVA]*[COPD])) AS DockAllocationVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,[DockAllocPerContNVA]*[COPD])) AS DockAllocationNVA, [LFAllocation]+[DockAllocation] AS TotalAllocation, tblPartRouteAssignment.LocPickNPack, tblPartRouteAssignment.LocLineFeedEmptyStaging, tblPartRouteAssignment.AddlMinPerShiftPt, tblRouteInfo.SmallLotTravelVA, tblRouteInfo.SmallLotTravelNVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedVA]/[StackHtLFDelivery])+([TravDistStagingVA]/[StackHtReceiving])+([TravDistEmptyVA]/[StackHtEmpties])),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedVA]/[StackHtTrainLen])+([TravDistStagingVA]/[StackHtTrainLen])),([TravDistLineFeedVA]/[StackHtTrainLen])))) AS TravelPerTripVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedNVA]/[StackHtLFDelivery])+([TravDistStagingNVA]/[StackHtReceiving])+([TravDistEmptyNVA]/[StackHtEmpties])),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelNVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedNVA]/[StackHtTrainLen])+([TravDistStagingNVA]/[StackHtTrainLen])),([TravDistLineFeedNVA]/[StackHtTrainLen])))) AS TravelPerTripNVA, IIf([EfficiencyModelType]="FORKLIFT",([LineFeedHandlingVA]/[StackHtLFDelivery])+([StagingHandlingVA]/[StackHtReceiving])+([EmptyReturnHandlingVA]/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",([LineFeedHandlingVA]/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingVA])+([StagingHandlingVA]/[StackHtTrainlen]),([LineFeedHandlingVA]/[StackHtTrainlen])+([StagingHandlingVA]/[StackHtTrainlen])))) AS HdlgPerContVA, IIf([EfficiencyModelType]="FORKLIFT",([LineFeedHandlingNVA]/[StackHtLFDelivery])+([StagingHandlingNVA]/[StackHtReceiving])+([EmptyReturnHandlingNVA]/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",([LineFeedHandlingNVA]/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingNVA])+([StagingHandlingNVA]/[StackHtTrainlen]),([LineFeedHandlingNVA]/[StackHtTrainlen])+([StagingHandlingNVA]/[StackHtTrainlen]))))+[AddlMinPerShiftPt] AS HdlgPerContNVA, [TravelPerTripVA]*(60/(5280*[TravelSpeed])) AS TravelMinPerTripVA, [TravelPerTripNVA]*(60/(5280*[TravelSpeed])) AS TravelMinPerTripNVA, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerContVA]+[TravelMinPerTripVA],[HdlgPerContVA]) AS AllocPerContVA, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerContNVA]+[TravelMinPerTripNVA],[HdlgPerContNVA]) AS AllocPerContNVA, [TravDistDockVA]/[StackHtReceiving] AS DockTravelPerTripVA, [TravDistDockNVA]/[StackHtReceiving] AS DockTravelPerTripNVA, IIf(Nz([StackHtReceiving],0)<=0,0,[DockHandlingVA]/[StackHtReceiving]) AS DockHdlgPerContVA, IIf(Nz([StackHtReceiving],0)<=0,0,[DockHandlingNVA]/[StackHtReceiving]) AS DockHdlgPerContNVA, [DockTravelPerTripVA]*(60/(5280*[TravelSpeed])) AS DockTravelMinPerTripVA, [DockTravelPerTripNVA]*(60/(5280*[TravelSpeed])) AS DockTravelMinPerTripNVA, [DockHdlgPerContVA]+[DockTravelMinPerTripVA] AS DockAllocPerContVA, [DockHdlgPerContNVA]+[DockTravelMinPerTripNVA] AS DockAllocPerContNVA, (([SmallLotTravelVA]+[SmallLotTravelNVA])*(60/(5280*[TravelSpeed])))*[SmallLotDelyCycles] AS SLFPM, [SmallLotNumStops]*0.33*[SmallLotDelyCycles] AS SLSST, ([SLSST]+[SLFPM]) AS SLTravelandStops, IIf(Nz([StackHtLFDelivery],0)<=0,0,[LineFeedHandlingVA]/[StackHtLFDelivery]) AS LFHdlgPerContVA, IIf(Nz([StackHtReceiving],0)<=0,0,[StagingHandlingVA]/[StackHtReceiving]) AS StgngHdlgPerContVA, IIf(Nz([StackHtEmpties],0)<=0,0,[EmptyReturnHandlingVA]/[StackHtEmpties]) AS EmptyHdlgPerContVA, IIf(Nz([StackHtLFDelivery],0)<=0,0,[LineFeedHandlingNVA]/[StackHtLFDelivery]) AS LFHdlgPerContNVA, IIf(Nz([StackHtReceiving],0)<=0,0,[StagingHandlingNVA]/[StackHtReceiving]) AS StgngHdlgPerContNVA, IIf(Nz([StackHtEmpties],0)<=0,0,[EmptyReturnHandlingNVA]/[StackHtEmpties]) AS EmptyHdlgPerContNVA, tblPartRouteAssignment.StackHtTrainLen, tblPartStation.StationBld_Rate AS StationBldRt, tblPartStation.PlantUsage, Nz([sel_CalcType3_Count_DNR].[CountOfPartNumber],0) AS CountOfCalcType3, sel_CalcType3_BldRt_DNR.CalcType3BldRtRaw, sel_PartStationCount_DNR.CountPartStation, tblPartInfo.Bld_Rate, Format(CDbl(IIf([CountOfCalcType3]=3,((([tblPartinfo].[Bld_Rate]-[CalcType3BldRt]/[sel_PartStationCount_DNR].[CountPartStation])*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay])),((([tblPartInfo].[Bld_Rate]/[sel_PartStationCount_DNR].[CountPartStation])*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay])))),'0.0') AS CalcType1BldRt, tblPartStation.VerifiedBld_Rate AS CalcType2BldRt, sel_CalcType3_BldRt_DNR.CalcType3BldRtRaw AS CalcType3BldRt, Format(CDbl((([tblPartInfo].[Bld_Rate]*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay]))),'0.0') AS CalcType4BldRt
FROM ((((tblDockHandling INNER JOIN (((((tblPartRouteAssignment INNER JOIN tblPlantInfo ON tblPartRouteAssignment.PlantCode = tblPlantInfo.PlantCode) INNER JOIN tblPartStation ON (tblPartRouteAssignment.ModelYear = tblPartStation.ModelYear) AND (tblPartRouteAssignment.Station = tblPartStation.Station) AND (tblPartRouteAssignment.PartNumber = tblPartStation.PartNumber) AND (tblPartRouteAssignment.PlantCode = tblPartStation.PlantCode)) INNER JOIN tblPartInfo ON (tblPartRouteAssignment.ModelYear = tblPartInfo.ModelYear) AND (tblPartRouteAssignment.PartNumber = tblPartInfo.PartNumber) AND (tblPartRouteAssignment.PlantCode = tblPartInfo.PlantCode)) INNER JOIN tblRouteInfo ON (tblPartRouteAssignment.ModelYear = tblRouteInfo.ModelYear) AND (tblPartRouteAssignment.Route = tblRouteInfo.Route) AND (tblPartRouteAssignment.PlantCode = tblRouteInfo.PlantCode)) INNER JOIN tblLinefeedHandling ON tblPartRouteAssignment.LineFeedDeliveryType = tblLinefeedHandling.LineFeedHandlingID) ON tblDockHandling.DockID = tblPartRouteAssignment.DockUnloadType) INNER JOIN tblEfficiencyModelType ON tblRouteInfo.EffModelTypeFK = tblEfficiencyModelType.EffModelTypePK) LEFT JOIN sel_CalcType3_Count_DNR ON (tblPartRouteAssignment.CalculationTypeFK = sel_CalcType3_Count_DNR.CalculationTypeFK) AND (tblPartRouteAssignment.Station = sel_CalcType3_Count_DNR.Station) AND (tblPartRouteAssignment.ModelYear = sel_CalcType3_Count_DNR.ModelYear) AND (tblPartRouteAssignment.PlantCode = sel_CalcType3_Count_DNR.PlantCode) AND (tblPartRouteAssignment.PartNumber = sel_CalcType3_Count_DNR.PartNumber)) LEFT JOIN sel_CalcType3_BldRt_DNR ON (tblPartRouteAssignment.PartNumber = sel_CalcType3_BldRt_DNR.PartNumber) AND (tblPartRouteAssignment.Station = sel_CalcType3_BldRt_DNR.Station) AND (tblPartRouteAssignment.ModelYear = sel_CalcType3_BldRt_DNR.ModelYear) AND (tblPartRouteAssignment.PlantCode = sel_CalcType3_BldRt_DNR.PlantCode)) LEFT JOIN sel_PartStationCount_DNR ON (tblPartRouteAssignment.ModelYear = sel_PartStationCount_DNR.ModelYear) AND (tblPartRouteAssignment.PartNumber = sel_PartStationCount_DNR.PartNumber) AND (tblPartRouteAssignment.PlantCode = sel_PartStationCount_DNR.PlantCode)
ORDER BY tblRouteInfo.Route DESC , tblPartRouteAssignment.PartNumber DESC;
Joel
On the Subform I have a combo that displays values 1-4 based on table CalcType. Previously we have been storing calculated values in a table, not a temp table, and using the values. The problem is updating the 4 values involves a few calculation sub's and slows the db down.
I developed a query that pulls all 4 calculation values without the intermediate tables. Great I thought, I can save all the time calcualting values.
Subform is continuous. Subform query is such that I can update fields. The problem is displaying the calculated value in a locked text box based on the value in the combo box. If I enhance the subform query to include the calculated values (I can do that) the rest of the subform fields are not updateable.
Anyone have any idea how I can display the calculated value (in a locked txt box) in a subform and still keep the rest of the subform updateable.
Subform Query:
SELECT tblPartRouteAssignment.MassUpdate, tblPartRouteAssignment.DefinedInKanban, tblPartRouteAssignment.PartNumber, tblPartInfo.Description, tblPartRouteAssignment.Station, tblPartRouteAssignment.PartStation, tblPartRouteAssignment.CalculationTypeFK, tblPartInfo.PackDensity, tblPartInfo.Container, tblPartRouteAssignment.ReceivingDock, tblPartRouteAssignment.LineFeedDeliveryType, tblPartRouteAssignment.DockUnloadType, tblPartRouteAssignment.LocFullStorage, tblPartRouteAssignment.TravDistLineFeedVA, tblPartRouteAssignment.TravDistLineFeedNVA, tblPartRouteAssignment.TravDistDockVA, tblPartRouteAssignment.TravDistDockNVA, tblPartRouteAssignment.StackHtReceiving, tblPartRouteAssignment.StackHtLFDelivery, tblPartRouteAssignment.StackHtTrainLen, tblPartRouteAssignment.StackHtEmpties, tblPartRouteAssignment.EmptyTrailer
FROM (tblDockHandling RIGHT JOIN ((((tblPartRouteAssignment LEFT JOIN tblPartStation ON (tblPartRouteAssignment.PlantCode = tblPartStation.PlantCode) AND (tblPartRouteAssignment.PartNumber = tblPartStation.PartNumber) AND (tblPartRouteAssignment.Station = tblPartStation.Station) AND (tblPartRouteAssignment.ModelYear = tblPartStation.ModelYear)) LEFT JOIN tblPartInfo ON (tblPartRouteAssignment.PlantCode = tblPartInfo.PlantCode) AND (tblPartRouteAssignment.PartNumber = tblPartInfo.PartNumber) AND (tblPartRouteAssignment.ModelYear = tblPartInfo.ModelYear)) LEFT JOIN tblRouteInfo ON (tblPartRouteAssignment.PlantCode = tblRouteInfo.PlantCode) AND (tblPartRouteAssignment.Route = tblRouteInfo.Route) AND (tblPartRouteAssignment.ModelYear = tblRouteInfo.ModelYear)) LEFT JOIN tblLinefeedHandling ON tblPartRouteAssignment.LineFeedDeliveryType = tblLinefeedHandling.LineFeedHandlingID) ON tblDockHandling.DockID = tblPartRouteAssignment.DockUnloadType) LEFT JOIN tblEfficiencyModelType ON tblRouteInfo.EffModelTypeFK = tblEfficiencyModelType.EffModelTypePK
WHERE (((tblPartRouteAssignment.PlantCode)=[Forms]![frmBaseRouteAssignment]![txtPlantCode]) AND ((tblPartRouteAssignment.ModelYear)=[Forms]![frmBaseRouteAssignment]![txtModelYear]))
ORDER BY tblPartRouteAssignment.Route, tblPartRouteAssignment.PartNumber, tblPartInfo.Description;
Calculation Query:
SELECT tblRouteInfo.PlantCode, tblRouteInfo.ModelYear, tblRouteInfo.Route, tblRouteInfo.Department, tblRouteInfo.JobType, tblRouteInfo.Validated, tblRouteInfo.NumberofDrivers, tblRouteInfo.BattChange, tblRouteInfo.SafetyChk, tblRouteInfo.AddlMinPerShiftRt, tblRouteInfo.TravelSpeed, tblRouteInfo.SmallLotNumStops, tblRouteInfo.SmallLotDelyCycles, tblRouteInfo.RouteComment1, tblRouteInfo.RouteComment2, tblEfficiencyModelType.EfficiencyModelType, tblPartRouteAssignment.PartNumber, tblPartRouteAssignment.Station, tblPlantInfo.WorkingMinPerShift, tblPlantInfo.ShiftsPerDay, tblPartRouteAssignment.LineFeedDeliveryType, tblPartRouteAssignment.DockUnloadType, tblPartRouteAssignment.ReceivingDock, tblPartRouteAssignment.LocFullStorage, tblPartRouteAssignment.LocLineFeedStaging, tblPartRouteAssignment.LocEmptyStorage, tblPartRouteAssignment.LocDockReturn, tblPartInfo.Description, tblPartRouteAssignment.CalculationTypeFK, Nz((IIf([tblPartRouteAssignment]![CalculationTypeFK]=1,[CalcType1BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=2,[CalcType2BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=3,[CalcType3BldRt]) & IIf([tblPartRouteAssignment]![CalculationTypeFK]=4,[CalcType4BldRt])),0) AS PSBld_Rate, tblPartInfo.PackDensity, tblPartInfo.Container, tblPartInfo.Length, tblPartInfo.Width, tblPartInfo.Height, IIf(Nz([PackDensity],0)<=0,0,[PSBld_Rate]/[PackDensity]) AS COPD, tblLinefeedHandling.LineFeedType, tblLinefeedHandling.LineFeedHandlingVA, tblLinefeedHandling.LineFeedHandlingNVA, tblLinefeedHandling.StagingHandlingVA, tblLinefeedHandling.StagingHandlingNVA, tblLinefeedHandling.EmptyReturnHandlingVA, tblLinefeedHandling.EmptyReturnHandlingNVA, tblDockHandling.UnloadType, tblDockHandling.DockHandlingVA, tblDockHandling.DockHandlingNVA, tblPartRouteAssignment.StackHtReceiving, tblPartRouteAssignment.StackHtLFDelivery, tblPartRouteAssignment.StackHtEmpties, IIf([EfficiencyModelType]="FORKLIFT",(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtLFDelivery])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtReceiving])+(([EmptyReturnHandlingVA]+[EmptyReturnHandlingNVA])/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingVA]+[LineFeedHandlingNVA])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtTrainlen]),(([LineFeedHandlingVA]+[LineFeedHandlingNVA])/[StackHtTrainlen])+(([StagingHandlingVA]+[StagingHandlingNVA])/[StackHtTrainlen]))))+[AddlMinPerShiftPt] AS HdlgPerCont, tblPartRouteAssignment.TravDistLineFeedVA, tblPartRouteAssignment.TravDistLineFeedNVA, tblPartRouteAssignment.TravDistStagingVA, tblPartRouteAssignment.TravDistStagingNVA, tblPartRouteAssignment.TravDistDockVA, tblPartRouteAssignment.TravDistDockNVA, tblPartRouteAssignment.TravDistEmptyVA, tblPartRouteAssignment.TravDistEmptyNVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtLFDelivery])+(([TravDistStagingVA]+[TravDistStagingNVA])/[StackHtReceiving])+(([TravDistEmptyVA]+[TravDistEmptyNVA])/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelVA]+[SmallLotTravelNVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtTrainLen])+(([TravDistStagingVA]+[TravDistStagingNVA])/[StackHtTrainLen]),(([TravDistLineFeedVA]+[TravDistLineFeedNVA])/[StackHtTrainLen])))) AS TravelPerTrip, [TravelPerTrip]*(60/(5280*[TravelSpeed])) AS TravelMinPerTrip, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerCont]+[TravelMinPerTrip],[HdlgPerCont]) AS AllocPerCont, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,([AllocPerContVA]+[AllocPerContNVA])*[COPD])) AS LFAllocation, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,[AllocPerContVA]*[COPD])) AS LFAllocationVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblLinefeedHandling].[LineFeedType]="0",0,[AllocPerContNVA]*[COPD])) AS LFAllocationNVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,([DockAllocPerContVA]+[DockAllocPerContNVA])*[COPD])) AS DockAllocation, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,[DockAllocPerContVA]*[COPD])) AS DockAllocationVA, IIf(Nz([PackDensity],0)=0,0,IIf([tblDockHandling].[UnloadType]="0",0,[DockAllocPerContNVA]*[COPD])) AS DockAllocationNVA, [LFAllocation]+[DockAllocation] AS TotalAllocation, tblPartRouteAssignment.LocPickNPack, tblPartRouteAssignment.LocLineFeedEmptyStaging, tblPartRouteAssignment.AddlMinPerShiftPt, tblRouteInfo.SmallLotTravelVA, tblRouteInfo.SmallLotTravelNVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedVA]/[StackHtLFDelivery])+([TravDistStagingVA]/[StackHtReceiving])+([TravDistEmptyVA]/[StackHtEmpties])),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedVA]/[StackHtTrainLen])+([TravDistStagingVA]/[StackHtTrainLen])),([TravDistLineFeedVA]/[StackHtTrainLen])))) AS TravelPerTripVA, IIf([EfficiencyModelType]="FORKLIFT",(([TravDistLineFeedNVA]/[StackHtLFDelivery])+([TravDistStagingNVA]/[StackHtReceiving])+([TravDistEmptyNVA]/[StackHtEmpties])),IIf([EfficiencyModelType]="SMALLPARTS",[SmallLotTravelNVA],IIf([EfficiencyModelType]="TUGGER",(([TravDistLineFeedNVA]/[StackHtTrainLen])+([TravDistStagingNVA]/[StackHtTrainLen])),([TravDistLineFeedNVA]/[StackHtTrainLen])))) AS TravelPerTripNVA, IIf([EfficiencyModelType]="FORKLIFT",([LineFeedHandlingVA]/[StackHtLFDelivery])+([StagingHandlingVA]/[StackHtReceiving])+([EmptyReturnHandlingVA]/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",([LineFeedHandlingVA]/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingVA])+([StagingHandlingVA]/[StackHtTrainlen]),([LineFeedHandlingVA]/[StackHtTrainlen])+([StagingHandlingVA]/[StackHtTrainlen])))) AS HdlgPerContVA, IIf([EfficiencyModelType]="FORKLIFT",([LineFeedHandlingNVA]/[StackHtLFDelivery])+([StagingHandlingNVA]/[StackHtReceiving])+([EmptyReturnHandlingNVA]/[StackHtEmpties]),IIf([EfficiencyModelType]="SMALLPARTS",([LineFeedHandlingNVA]/[StackHtLFDelivery]),IIf([EfficiencyModelType]="TUGGER",([LineFeedHandlingNVA])+([StagingHandlingNVA]/[StackHtTrainlen]),([LineFeedHandlingNVA]/[StackHtTrainlen])+([StagingHandlingNVA]/[StackHtTrainlen]))))+[AddlMinPerShiftPt] AS HdlgPerContNVA, [TravelPerTripVA]*(60/(5280*[TravelSpeed])) AS TravelMinPerTripVA, [TravelPerTripNVA]*(60/(5280*[TravelSpeed])) AS TravelMinPerTripNVA, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerContVA]+[TravelMinPerTripVA],[HdlgPerContVA]) AS AllocPerContVA, IIf([EfficiencyModelType]<>"SMALLPARTS",[HdlgPerContNVA]+[TravelMinPerTripNVA],[HdlgPerContNVA]) AS AllocPerContNVA, [TravDistDockVA]/[StackHtReceiving] AS DockTravelPerTripVA, [TravDistDockNVA]/[StackHtReceiving] AS DockTravelPerTripNVA, IIf(Nz([StackHtReceiving],0)<=0,0,[DockHandlingVA]/[StackHtReceiving]) AS DockHdlgPerContVA, IIf(Nz([StackHtReceiving],0)<=0,0,[DockHandlingNVA]/[StackHtReceiving]) AS DockHdlgPerContNVA, [DockTravelPerTripVA]*(60/(5280*[TravelSpeed])) AS DockTravelMinPerTripVA, [DockTravelPerTripNVA]*(60/(5280*[TravelSpeed])) AS DockTravelMinPerTripNVA, [DockHdlgPerContVA]+[DockTravelMinPerTripVA] AS DockAllocPerContVA, [DockHdlgPerContNVA]+[DockTravelMinPerTripNVA] AS DockAllocPerContNVA, (([SmallLotTravelVA]+[SmallLotTravelNVA])*(60/(5280*[TravelSpeed])))*[SmallLotDelyCycles] AS SLFPM, [SmallLotNumStops]*0.33*[SmallLotDelyCycles] AS SLSST, ([SLSST]+[SLFPM]) AS SLTravelandStops, IIf(Nz([StackHtLFDelivery],0)<=0,0,[LineFeedHandlingVA]/[StackHtLFDelivery]) AS LFHdlgPerContVA, IIf(Nz([StackHtReceiving],0)<=0,0,[StagingHandlingVA]/[StackHtReceiving]) AS StgngHdlgPerContVA, IIf(Nz([StackHtEmpties],0)<=0,0,[EmptyReturnHandlingVA]/[StackHtEmpties]) AS EmptyHdlgPerContVA, IIf(Nz([StackHtLFDelivery],0)<=0,0,[LineFeedHandlingNVA]/[StackHtLFDelivery]) AS LFHdlgPerContNVA, IIf(Nz([StackHtReceiving],0)<=0,0,[StagingHandlingNVA]/[StackHtReceiving]) AS StgngHdlgPerContNVA, IIf(Nz([StackHtEmpties],0)<=0,0,[EmptyReturnHandlingNVA]/[StackHtEmpties]) AS EmptyHdlgPerContNVA, tblPartRouteAssignment.StackHtTrainLen, tblPartStation.StationBld_Rate AS StationBldRt, tblPartStation.PlantUsage, Nz([sel_CalcType3_Count_DNR].[CountOfPartNumber],0) AS CountOfCalcType3, sel_CalcType3_BldRt_DNR.CalcType3BldRtRaw, sel_PartStationCount_DNR.CountPartStation, tblPartInfo.Bld_Rate, Format(CDbl(IIf([CountOfCalcType3]=3,((([tblPartinfo].[Bld_Rate]-[CalcType3BldRt]/[sel_PartStationCount_DNR].[CountPartStation])*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay])),((([tblPartInfo].[Bld_Rate]/[sel_PartStationCount_DNR].[CountPartStation])*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay])))),'0.0') AS CalcType1BldRt, tblPartStation.VerifiedBld_Rate AS CalcType2BldRt, sel_CalcType3_BldRt_DNR.CalcType3BldRtRaw AS CalcType3BldRt, Format(CDbl((([tblPartInfo].[Bld_Rate]*([tblPlantInfo].[JobsPerDay]/[tblPlantInfo].[PartDumpMultiplier])/[tblPlantInfo].[ShiftsPerDay]))),'0.0') AS CalcType4BldRt
FROM ((((tblDockHandling INNER JOIN (((((tblPartRouteAssignment INNER JOIN tblPlantInfo ON tblPartRouteAssignment.PlantCode = tblPlantInfo.PlantCode) INNER JOIN tblPartStation ON (tblPartRouteAssignment.ModelYear = tblPartStation.ModelYear) AND (tblPartRouteAssignment.Station = tblPartStation.Station) AND (tblPartRouteAssignment.PartNumber = tblPartStation.PartNumber) AND (tblPartRouteAssignment.PlantCode = tblPartStation.PlantCode)) INNER JOIN tblPartInfo ON (tblPartRouteAssignment.ModelYear = tblPartInfo.ModelYear) AND (tblPartRouteAssignment.PartNumber = tblPartInfo.PartNumber) AND (tblPartRouteAssignment.PlantCode = tblPartInfo.PlantCode)) INNER JOIN tblRouteInfo ON (tblPartRouteAssignment.ModelYear = tblRouteInfo.ModelYear) AND (tblPartRouteAssignment.Route = tblRouteInfo.Route) AND (tblPartRouteAssignment.PlantCode = tblRouteInfo.PlantCode)) INNER JOIN tblLinefeedHandling ON tblPartRouteAssignment.LineFeedDeliveryType = tblLinefeedHandling.LineFeedHandlingID) ON tblDockHandling.DockID = tblPartRouteAssignment.DockUnloadType) INNER JOIN tblEfficiencyModelType ON tblRouteInfo.EffModelTypeFK = tblEfficiencyModelType.EffModelTypePK) LEFT JOIN sel_CalcType3_Count_DNR ON (tblPartRouteAssignment.CalculationTypeFK = sel_CalcType3_Count_DNR.CalculationTypeFK) AND (tblPartRouteAssignment.Station = sel_CalcType3_Count_DNR.Station) AND (tblPartRouteAssignment.ModelYear = sel_CalcType3_Count_DNR.ModelYear) AND (tblPartRouteAssignment.PlantCode = sel_CalcType3_Count_DNR.PlantCode) AND (tblPartRouteAssignment.PartNumber = sel_CalcType3_Count_DNR.PartNumber)) LEFT JOIN sel_CalcType3_BldRt_DNR ON (tblPartRouteAssignment.PartNumber = sel_CalcType3_BldRt_DNR.PartNumber) AND (tblPartRouteAssignment.Station = sel_CalcType3_BldRt_DNR.Station) AND (tblPartRouteAssignment.ModelYear = sel_CalcType3_BldRt_DNR.ModelYear) AND (tblPartRouteAssignment.PlantCode = sel_CalcType3_BldRt_DNR.PlantCode)) LEFT JOIN sel_PartStationCount_DNR ON (tblPartRouteAssignment.ModelYear = sel_PartStationCount_DNR.ModelYear) AND (tblPartRouteAssignment.PartNumber = sel_PartStationCount_DNR.PartNumber) AND (tblPartRouteAssignment.PlantCode = sel_PartStationCount_DNR.PlantCode)
ORDER BY tblRouteInfo.Route DESC , tblPartRouteAssignment.PartNumber DESC;
Joel