Чтобы сгенерировать итоговый объем продаж в MS Access, я использовал запрос ниже, он работает как положено
SELECT ID, [Product Line], DSUM("[Qty]","[SalesData]","[Product Line] like '*Electronics*' AND [ID] <=" & [ID]) AS RunningTotal, FROM SalesData WHERE ([Product Line]) Like '*Electronics*';
Теперь мне нужно отфильтровать все записи с помощью RunningTotal <100,
Я выполнил следующий подзапрос </p>
SELECT * FROM(
SELECT ID, [Product Line], DSUM("[Qty]","[SalesData]","[Product Line] like '*Electronics*' AND [ID] <=" & [ID]) AS RunningTotal, FROM SalesData WHERE ([Product Line]) Like '*Electronics*')
DSUM("[Qty]","[","[Product Line] like '*Electronics*' AND [ID] <=" & [ID]) < 100;
Он не работает, и таблица много раз зависает при выполнении этого запроса
Таблица данных
ID Product Line Qty RunningTotal
1 Electronics 15 15
2 R.K. Electricals 20 20
3 Samsung Electronics 10 25
4 Electricals 30 50
5 Electricals 45 95
6 Electronics Components 18 43
7 Electricals 25 120
8 Electronics 50 93
9 Electricals Machines 65 185
10 Electronics 15 108
11 ABC Electronics Ltd 52 160
12 Electricals 15 200
Здесь RunningTotal - это вычисляемое поле (не поле таблицы)
Электрооборудование RunningTotal другое, а электроника RunningTotal другое
Ожидаемый выход для линейки продуктов как Электроника с RunningTotal <100 </p>
ID Product Line Qty RunningTotal
1 Electronics 15 15
3 Samsung Electronics 10 25
6 Electronics Components 18 43
8 Electronics 50 93
Не могли бы вы помочь мне исправить вышеуказанный запрос?
Заранее спасибо.