|
|
|
| Всем привет!
Кто сталкивался с проблемой хранения в программе цены продажи по прайсу, помогите!
Небходимо каким то образом хранить цену продажи по прайсу на весь список товаров в наличии на каждый день, т.к. смену продавец сдает и принимает не в количественном выражении, а в денежном, типа принял на сумму, сдал на сумму.
Цена меняется каждий день, а в отчете (еженедельном) (и в таблице перемещений, впрочем, тоже) неоходимо вывести цены продажи по прайсу на любую заданную начальную и конечную дату (с ... по ... ).
1. Думаю создать таблицу типа: код, дата, код товара, цена по прайсу, и при создании отчета выбирать цену продажи по прайсу из нее. (Недостаток: очень скоро таблица станет огромных размеров). Как быть?
2. А если такой даты нет, как в запросе подставить ближайшую предыдущую дату?
Спасибо! | |
|
| |
|
|
|
| по любому станет огромных размеров, но Вам то, что???
запрос выберет только то, что надо...
и потом цены можно хранить в отдельной таблице связав по коду
запросом выбирать и подсчитывать... | |
|
| |
|
|
|
| все правильно так и делайте
относительно вопроса 2 примерно так:
предположим есть две таблицы "tblOrders" - заказы в ней поле dtOrder - дата заказа
и таблица tblСurs - таблица курсов в ней поле dtCurs - дата курса и поле Curs - собственно курс. Запрос вернет список договоров с курсом на дату заключения договора или на ближайшую меньшую дату для которой есть курс в таблице tblСurs
SELECT tblOrders.*, (SELECT top 1 tblCurs.Curs as dtcurs FROM tblCurs
WHERE (((tblCurs.dtCurs)<=[tblOrders].[dtOrder])) ORDER BY tblCurs.dtCurs DESC;) as Curs
FROM tblOrders;
|
| |
|
| |