|
|
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
Если кто знает, подскажите: в таблице нужно сохранить сумму с накоплением (допустим, на склад поступает товар, в строке нужно сохранить и поступившее количество, и общее количество на складе на данный момент). Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 15:32 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
Ну вообще-то так не делается, обычно так: хранится каждая запись вновь поступившего товара с суммой, датой, кодом юзера который ее сделал и ..... Потом создается отчет с итоговыми данными или прямо на форме подчиненная форма с итогами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 17:02 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
Насчет итогов в отчете и в подчиненной таблице - это я в курсе. Как эти данные занести в таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 11:32 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
По правилам нормализации БД так никогда не делают за исключением случаев, когда запрос будет усложняться по этой причине! В твоем случае в общем конечно целесообразно хранить сумму в основной таблице, что-б не делать дополнительную выборку из подчиненной таблицы! Но тебе это можно реализовать только либе через хранимую процедуру, либо триггер, либо в клиентской части! Я склоняюсь на триггеры! Что скажет общественность?! Тогда на удаление/добавление/изменение вешаешь триггер который смотрит parent_id и для него в основной таблице меняет сумму! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:05 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
У нас на триггерах (правда, делал не я, я, как всегда, подключился позже, когда надо было все переделывать - судьба у меня, видать, такая ;0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:26 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
А что, если с самого начала делал-бы - то сделал-бы на ХП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:27 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
2 AlexJuice & All дак как лучше реализовать хранение остатков (суммы)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:37 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
2 svk Подсказать идею хранения в таблицу могу, но сначала попробую переубедить тебя в неправильности этой системы. Представь ты занес данный в таблицу, а потом их нужно будет поменять, дату, количество, сумму и т.д., а это обизательно случится. Кто скжет, что у него все заносится с первого раза и правильно и не прерделывается может бросить в меня камень (Даже ж/б плиту) И что тогда все твои данные с сумами и количеством на текущий момент не верны тебе нужно будет переформировать их обратно.(Представь безтолковую нагрузку на базу и ее скорость в таком режиме.) Поэтому данные остатки на текущий момент(или любую указанную дату, время) как в сумарном так и числовом выражении должны вычислятся. Если тебя интересует хранение этих данных, как вариант фиксации месяца либо другого периода, для проверки изменения и всей остальной бадяги. Отчет можеш выганять в Ексель - будут все поля и визуально легко проконтролировать отличия. Или же запросом делаеш временную(отчетную таблицу) в которую запросом и вставляеш нужные данные.(Но они будут как БД до товара, количество сумма и т.д. не будет итоговых данных по группам товарам складу и т.д. Но итоговые данные легко вытащить с этой таблицы отчетом, или сводной таблицей) Ну мысли вроде бы все изложил. Дальше думайте сами, решайте сами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 12:00 |
|
||
|
Сумма с накоплением в таблице
|
|||
|---|---|---|---|
|
#18+
Согласна с предыдущими объяснениями. Можно, конечно, создать запрос на группировку, который суммирует нужные значения, написать запрос на удаление и добавление данных из запроса на группировку в вашу таблицу. Но это громоздко и долго, да и нужно ли вообще. Будет клон 1С, "подтвердить", "провести", "перетрясти" ... В общем все равно что правой рукой левое ухо почесать через затылок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32071267&tid=1676658]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 486ms |

| 0 / 0 |
