Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: kot_k_k
времени мало - вот запрос, скопируй и вставь!!!!
но сталкиваясь с такими вещами могу сказать так просто оборотку не сделаешь. всегда потребуется период С и По, т.е. предварительно вычислить что получил-вернул-реализовал Клиент до даты начала периода - получим отсаток на начало + получил-вернул-реализовал - в течении периода (оборот). елси не сделаем остаток на начало получи обороты за период больше выданного!!! и при росте базы это вызывает увеличение времени обработки.

SELECT Таблица1.Клиент, Таблица1.Товар, Таблица1.Размер, Sum(IIf([статус]="Кредит",[Кол_во],0)) AS Кредит, Sum(IIf([статус]="Реализация",[Кол_во],0)) AS Реализация, Sum(IIf([статус]="Возврат",[Кол_во],0)) AS Возврат, Sum(IIf([статус]="Кредит",[Кол_во],0)-IIf([статус]="Реализация",[Кол_во],0)-IIf([статус]="Возврат",[Кол_во],0)) AS Остаток
FROM Таблица1
WHERE (((Таблица1.Дата)<=#12/1/2009#))
GROUP BY Таблица1.Клиент, Таблица1.Товар, Таблица1.Размер
HAVING (((Sum(IIf([статус]="Кредит",[Кол_во],0)-IIf([статус]="Реализация",[Кол_во],0)-IIf([статус]="Возврат",[Кол_во],0)))>0));

п.с. табла "Товары" - это для примера, если нет то надо табла Клиент, Товар (Номенклатура), Вид_Операции, которые связаны с Таблой "Товары"


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.