![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() 1. id (Счетчик) 2. ENTRYCODE (Текстовый) – Номенклатурный номер материала 3. Name (Текстовый) – Название материала 4. Measure (Текстовый) – Единица измерения материала. 5. Width (Текстовый) - Размер материала 6. Sort (Текстовый) – Сорт материала 7. Price (Числовой) - Цена материала 1. id (Счетчик) 2. Document (Текстовый) – Название документа 3. Date (Дата/время) – Дата введения записи об отпуске/поступлении материала на склад. 4. Good (Числовой) – ID материала который присваивается из таблицы goods. 5. Count (Числовой) - Количество поступившего/отпущенного материала 6. MovingType (Текстовый) – Определяет поступление (+) или отпуск (-) материала 7. Debet (Текстовый) - Содержит значения «Дебет» который вводится кладовщиком 8. Credit (Текстовый) – Содержит значения «Кредит» которые вводятся кладовщиком Нужно рассчитать остаток материала в любой момент и вывести отчет (отчет буду выводить с помощью FastReport) Подскажите как реализовать расчет остатка (работаю в Delphi XE2) Нужно создавать дополнительную таблицу? Ниже привел примерную форму отчета. ![]() |
|
#2
|
||||
|
||||
|
Все довольно просто (по крайней мере в субд Oracle) в общем как-то так:
vGoods - твоя таблица goods vGoodMoving - твоя таблица GoodMoving date1 - твое поле date (в оракле нельзя создать поля с именем date) Код:
SELECT m.*,
g.enterycode AS Номенклатурный_номер,
g.name || ' ' || g.Width || ' ' || g.sort
AS Название_размер_сорт,
g.price AS Цена,
g.price * m.kol AS Количество
FROM ( SELECT m.good,
(NVL (SUM (CASE WHEN m.movingtype = '+' THEN m.COUNT END),
0)
- NVL (
SUM (CASE WHEN m.movingtype = '-' THEN m.COUNT END),
0))
AS kol
FROM vGoodMoving m
WHERE date1 BETWEEN SYSDATE - 50 AND SYSDATE + 50
GROUP BY m.good) m
LEFT JOIN
vGoods g
ON m.good = g.id; |
|
#3
|
|||
|
|||
|
Ах, совсем забыл указать, что БД написана на Access
|
|
#4
|
|||
|
|||
|
Можете написать запрос для Access, в SQL пока не очень...
|