powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка в коде, расчет списания и перемещения.
13 сообщений из 13, страница 1 из 1
Ошибка в коде, расчет списания и перемещения.
    #39291435
Ainur.sm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

В Таблице qdfHistoryProducts, учитываются приход, списание, и перемещение из Склад Х, и перемещение товара в Склад Х товара.

Пытаюсь вывести ID склада (StoreIDCalc), название склада (StoreNameCalc), ID товара (MaterialID),Название Товара (MaterialCalc), Кол-во товара (SumQuantity) , Кол-во списанных товаров(Списание), кол-во поступление товара(Поступление), Кол-во перемещение (Перемещение) из таблицы qdfHistoryProducts

Получила, таблицу qdfStoreState то что надо, но access виснет перестает работать. В чем проблема?

Код: sql
1.
2.
3.
4.
T Deals5.*, (SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Списание') AS Списание, (SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Приход') AS Поступления, (SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Перемещение в') AS  Перемещение
FROM (SELECT StoreIDCalc, tblStores.StoreName AS StoreNameCalc, qdfHistoryProducts.MaterialID, qdfHistoryProducts.MaterialCalc, Sum(qdfHistoryProducts.Quantity) AS SumQuantity
FROM qdfHistoryProducts LEFT JOIN tblStores ON qdfHistoryProducts.StoreIDCalc=tblStores.ID
GROUP BY StoreIDCalc, tblStores.StoreName, qdfHistoryProducts.MaterialID, qdfHistoryProducts.MaterialCalc)  AS Deals5;
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291468
access,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
он не "виснет", он - "вешается" !
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291491
Ainur.sm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
access,,
Что теперь делать?
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291499
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ainur.sm,

я бы видимо делала через UNION ALL с последующей группировкой по принципу

выбрать склад,дата,товар,количество как приход, 0 как расход, 0 как перемещение из истории пока "приход"
union all
выбрать склад,дата,товар,0 как приход, количество как расход, 0 как перемещение из истории пока "расход"
union all
выбрать склад,дата,товар,0 как приход, 0 как расход, количество как перемещение из истории пока "перемещение"
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291501
access,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ainur.smaccess,,
Что теперь делать?

как минимум это :

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
/*
(SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Списание') AS Списание, 
(SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Приход') AS Поступления, 
(SELECT Sum(Quantity) FROM qdfHistoryProducts Deals1 WHERE Deals1.MaterialID= Deals5.MaterialID  AND OperationType='Перемещение в') AS  Перемещение
*/
...
sum(IIF(OperationType='Списание'),Quantity) AS Списание, 
sum(IIF(OperationType='Приход'),Quantity) AS Поступления,
sum(IIF(OperationType='Перемещение в'),Quantity) AS Перемещение,
...


а с учетом того , что всё происходит с "сохр.запросом" - четай рекомендации п.13
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291629
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT StoreName, T.* FROM tblStores AS S INNER JOIN
(SELECT StoreIDCalc, MaterialID, First(MaterialCalc) AS MaterialName, 
       -Sum(Quantity*(OperationType=””Списание””)) AS Списание,
       -Sum(Quantity*(OperationType=””Приход””)) AS Приход,
       -Sum(Quantity*(OperationType=”” Перемещение””)) AS Перемещение
FROM qdfHistoryProducts
GROUP BY StoreIDCalc, qdfHistoryProducts.MaterialID) AS T
ON T.StoreIDCalc = S.ID
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291630
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка - зачем-то кавычки удвоились.
Не нужно, если это не формирование запроса в VBA.)))
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT StoreName, T.* FROM tblStores AS S INNER JOIN
(SELECT StoreIDCalc, MaterialID, First(MaterialCalc) AS MaterialName, 
       -Sum(Quantity*(OperationType=”Списание”)) AS Списание,
       -Sum(Quantity*(OperationType=”Приход”)) AS Приход,
       -Sum(Quantity*(OperationType=”Перемещение”)) AS Перемещение
FROM qdfHistoryProducts
GROUP BY StoreIDCalc, MaterialID) AS T
ON T.StoreIDCalc = S.ID
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291633
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ainur.sm,

Почему у Вас OperationType - текст?
Почему не числовой код из справочника OperationType's ?
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291673
Ainur.sm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Спасибо. Получилось. А как посчитать общ. количество товара Sum(Quantity)?
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291674
Ainur.sm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ainur.sm__Michelle,
Спасибо. Получилось. А как посчитать общ. количество товара Sum(Quantity)?

Общ. кол-во товара в складе.
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291754
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ainur.smAinur.sm__Michelle,
Спасибо. Получилось. А как посчитать общ. количество товара Sum(Quantity)?

Общ. кол-во товара в складе.1. Товара определенного или товара в целом?
2. На складе определенном или на всех в целом?
3. Используются разные единицы измерения - на картинке есть шт. и м.
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291809
Ainur.sm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleAinur.smпропущено...


Общ. кол-во товара в складе.1. Товара определенного или товара в целом?
2. На складе определенном или на всех в целом?
3. Используются разные единицы измерения - на картинке есть шт. и м.

Общ. кол-во определенного товара в определенном складе. Потому что один и тот же товар может быть в разных складов, надо показать остатки определенного товара в каждом складе. Используется шт. м. кг. пар, компл.
...
Рейтинг: 0 / 0
Ошибка в коде, расчет списания и перемещения.
    #39291907
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ainur.sm,

Если я правильно понимаю, то просто добавить в список вывода
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT StoreName, T.* 
FROM tblStores AS S 
INNER JOIN 
(SELECT StoreIDCalc, MaterialID, First(MaterialCalc) AS MaterialName, 
        -Sum(Quantity*(OperationType=”Списание”)) AS Списание,
        -SuOperationType=”Приход”)) AS Приход, 
        -Sum(Quantity*(OperationType=”Перемещение”)) AS Перемещение,
        Sum(Quantity) As Остаток
 FROM qdfHistoryProducts 
 GROUP BY StoreIDCalc, MaterialID) AS T 
ON T.StoreIDCalc = S.ID
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка в коде, расчет списания и перемещения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]