I think this will do it.
I used table named Test1 with fields Order# and Item# as constants and Oper,
WC, and Task as varriables.
Query Text1X labels a rank on all records with the same constants but
different varriables.
Query Text1Y extracts the maximum rank of each constant.
Query Text1Z1 through Text1Z5 concatenates those records with same constants
and have maximum rank matching Text1Y.
Query Text1Z_All is a union query to pull them all together.
Text1X --
SELECT Q.[Order#], Q.[Item#], Q.[Oper], Q.[WC], Q.[Task], (SELECT COUNT(*)
FROM [Test1] Q1
WHERE Q1.[Order#] = Q.[Order#]
AND Q1.[Item#] & Q1.[Oper] & Q1.[WC] & Q1.[Task] <= Q.[Item#] &
Q.[Oper] & Q1.[WC] & Q.[Task]) AS Rank
FROM Test1 AS Q
ORDER BY Q.[Order#], Q.[Item#], Q.[Oper], Q.[WC], Q.[Task] DESC;
Text1Y --
SELECT Test1X.[Order#], Test1X.[Item#], Max(Test1X.Rank) AS MaxOfRank
FROM Test1X
GROUP BY Test1X.[Order#], Test1X.[Item#];
Text1Z1 --
SELECT Test1X.[Order#], Test1X.[Item#], Test1X.Oper AS Oper_, Test1X.WC AS
WC_, Test1X.Task AS Task_
FROM Test1Y INNER JOIN Test1X ON (Test1Y.[Order#] = Test1X.[Order#]) AND
(Test1Y.[Item#] = Test1X.[Item#])
WHERE (((Test1X.Rank)=1) AND ((Test1Y.MaxOfRank)=1))
GROUP BY Test1X.[Order#], Test1X.[Item#], Test1X.Oper, Test1X.WC, Test1X.Task;
Text1Z2 --
SELECT Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] AS Oper_, [Test1X].[WC] & " " & [Test1X_1].[WC] AS WC_,
[Test1X].[Task] & " " & [Test1X_1].[Task] AS Task_
FROM Test1Y INNER JOIN (Test1X LEFT JOIN Test1X AS Test1X_1 ON
(Test1X.[Item#] = Test1X_1.[Item#]) AND (Test1X.[Order#] =
Test1X_1.[Order#])) ON (Test1Y.[Order#] = Test1X.[Order#]) AND
(Test1Y.[Item#] = Test1X.[Item#])
WHERE (((Test1X.Rank)=1) AND ((Test1X_1.Rank)=2) AND ((Test1Y.MaxOfRank)=2))
GROUP BY Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper], [Test1X].[WC] & " " & [Test1X_1].[WC], [Test1X].[Task] & "
" & [Test1X_1].[Task];
Text1Z3 --
SELECT Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper] AS Oper_, [Test1X].[WC] & " " &
[Test1X_1].[WC] & " " & [Test1X_2].[WC] AS WC_, [Test1X].[Task] & " " &
[Test1X_1].[Task] & " " & [Test1X_2].[Task] AS Task_
FROM Test1Y INNER JOIN ((Test1X LEFT JOIN Test1X AS Test1X_1 ON
(Test1X.[Item#] = Test1X_1.[Item#]) AND (Test1X.[Order#] =
Test1X_1.[Order#])) LEFT JOIN Test1X AS Test1X_2 ON (Test1X.[Item#] =
Test1X_2.[Item#]) AND (Test1X.[Order#] = Test1X_2.[Order#])) ON
(Test1Y.[Order#] = Test1X.[Order#]) AND (Test1Y.[Item#] = Test1X.[Item#])
WHERE (((Test1X.Rank)=1) AND ((Test1X_1.Rank)=2) AND ((Test1X_2.Rank)=3) AND
((Test1Y.MaxOfRank)=3))
GROUP BY Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper], [Test1X].[WC] & " " &
[Test1X_1].[WC] & " " & [Test1X_2].[WC], [Test1X].[Task] & " " &
[Test1X_1].[Task] & " " & [Test1X_2].[Task];
Text1Z4 --
SELECT Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper] & " " & [Test1X_3].[Oper] AS
Oper_, [Test1X].[WC] & " " & [Test1X_1].[WC] & " " & [Test1X_2].[WC] & " " &
[Test1X_3].[WC] AS WC_, [Test1X].[Task] & " " & [Test1X_1].[Task] & " " &
[Test1X_2].[Task] & " " & [Test1X_3].[Task] AS Task_
FROM Test1Y INNER JOIN (((Test1X LEFT JOIN Test1X AS Test1X_1 ON
(Test1X.[Order#] = Test1X_1.[Order#]) AND (Test1X.[Item#] =
Test1X_1.[Item#])) LEFT JOIN Test1X AS Test1X_2 ON (Test1X.[Order#] =
Test1X_2.[Order#]) AND (Test1X.[Item#] = Test1X_2.[Item#])) LEFT JOIN Test1X
AS Test1X_3 ON (Test1X.[Order#] = Test1X_3.[Order#]) AND (Test1X.[Item#] =
Test1X_3.[Item#])) ON (Test1Y.[Item#] = Test1X.[Item#]) AND (Test1Y.[Order#]
= Test1X.[Order#])
WHERE (((Test1X.Rank)=1) AND ((Test1X_1.Rank)=2) AND ((Test1X_2.Rank)=3) AND
((Test1X_3.Rank)=4) AND ((Test1Y.MaxOfRank)=4))
GROUP BY Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper] & " " & [Test1X_3].[Oper],
[Test1X].[WC] & " " & [Test1X_1].[WC] & " " & [Test1X_2].[WC] & " " &
[Test1X_3].[WC], [Test1X].[Task] & " " & [Test1X_1].[Task] & " " &
[Test1X_2].[Task] & " " & [Test1X_3].[Task];
Text1Z5 --
SELECT Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper] & " " & [Test1X_3].[Oper] & " " &
[Test1X_4].[Oper] AS Oper_, [Test1X].[WC] & " " & [Test1X_1].[WC] & " " &
[Test1X_2].[WC] & " " & [Test1X_3].[WC] & " " & [Test1X_4].[WC] AS WC_,
[Test1X].[Task] & " " & [Test1X_1].[Task] & " " & [Test1X_2].[Task] & " " &
[Test1X_3].[Task] & " " & [Test1X_4].[Task] AS Task_
FROM Test1Y INNER JOIN ((((Test1X LEFT JOIN Test1X AS Test1X_1 ON
(Test1X.[Item#] = Test1X_1.[Item#]) AND (Test1X.[Order#] =
Test1X_1.[Order#])) LEFT JOIN Test1X AS Test1X_2 ON (Test1X.[Item#] =
Test1X_2.[Item#]) AND (Test1X.[Order#] = Test1X_2.[Order#])) LEFT JOIN Test1X
AS Test1X_3 ON (Test1X.[Item#] = Test1X_3.[Item#]) AND (Test1X.[Order#] =
Test1X_3.[Order#])) LEFT JOIN Test1X AS Test1X_4 ON (Test1X.[Item#] =
Test1X_4.[Item#]) AND (Test1X.[Order#] = Test1X_4.[Order#])) ON
(Test1Y.[Order#] = Test1X.[Order#]) AND (Test1Y.[Item#] = Test1X.[Item#])
WHERE (((Test1X.Rank)=1) AND ((Test1X_1.Rank)=2) AND ((Test1X_2.Rank)=3) AND
((Test1X_3.Rank)=4) AND ((Test1X_4.Rank)=5) AND ((Test1Y.MaxOfRank)=5))
GROUP BY Test1X.[Order#], Test1X.[Item#], [Test1X].[Oper] & " " &
[Test1X_1].[Oper] & " " & [Test1X_2].[Oper] & " " & [Test1X_3].[Oper] & " " &
[Test1X_4].[Oper], [Test1X].[WC] & " " & [Test1X_1].[WC] & " " &
[Test1X_2].[WC] & " " & [Test1X_3].[WC] & " " & [Test1X_4].[WC],
[Test1X].[Task] & " " & [Test1X_1].[Task] & " " & [Test1X_2].[Task] & " " &
[Test1X_3].[Task] & " " & [Test1X_4].[Task];
Text1Z_All --
SELECT Text1Z5.[Order#], Text1Z5.[Item#], Text1Z5.Oper_, Text1Z5.WC_,
Text1Z5.Task_
FROM Text1Z5
UNION ALL SELECT Text1Z4.[Order#], Text1Z4.[Item#], Text1Z4.Oper_,
Text1Z4.WC_, Text1Z4.Task_
FROM Text1Z4
UNION ALL SELECT Text1Z3.[Order#], Text1Z3.[Item#], Text1Z3.Oper_,
Text1Z3.WC_, Text1Z3.Task_
FROM Text1Z3
UNION ALL SELECT Text1Z2.[Order#], Text1Z2.[Item#], Text1Z2.Oper_,
Text1Z2.WC_, Text1Z2.Task_
FROM Text1Z2
UNION ALL SELECT Text1Z1.[Order#], Text1Z1.[Item#], Text1Z1.Oper_,
Text1Z1.WC_, Text1Z1.Task_
FROM Text1Z1;