Консультация № 64437
27.11.2006, 16:05
0.00 руб.
0 4 1
Здравствуйте!!!! У меня такой вопрос: мне необходимо связать две таблицы, к примеру приход и продажа, при уменьшении кол-ва товара на складе автоматически прибавляется количество в продажах, или наоборот. Подскажите, как это сделать. Заранее спасибо.

Обсуждение

Неизвестный
27.11.2006, 16:08
общий
Вот скажите мне, какое отношение таблицы (DB, SQL) имеют к Delphi?! Почему не задать этот вопрос хотя бы в рассылке Delphi + БД?
Неизвестный
27.11.2006, 16:16
общий
Сухомлин Кирилл Владимирович:А вот на мой взгляд самое прямое отношение, а если вам не очень хочется отвечать, то лучше проигнорировать сообщение или внести предложение с рассылкой Delphi+БД в более корректной форме.
давно
Мастер-Эксперт
425
4118
27.11.2006, 16:50
общий
То Oopbl:Ответ будет зависеть от того, какой тип БД Вы используете. И связь тут совершенно не причем, речь идет о разработке бизнес-правил.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
28.11.2006, 06:38
общий
это ответ
Здравствуйте, Oopb

если это SQL это можно сделать через тригеры баз данных
в ORACLE тело тригера будет выглядеть примерно так:

if :new.поле_содержащее_кол-во>:old.поле_содержащее_кол-во then
условия автоматического добавления

через делфи, программным путем при изменении данных одной таблицы сразу изменяем данные другой.

например:

я в примере использовал query но суть одинакова и для Тable

тут еще вопрос состоит в том как этой бд будут пользоваться:
если только из вашей программы то можно ограничиться программными связями, если нет то нужно обязательно тригеры ставить.



Приложение:
Procedure ADD_SKLAD_CNT;beginquery.fieldbyname(‘склад_cnt‘).asInteger:=query.fieldbyname(‘sklad_cnt‘).asInteger+1;query.fieldbyname(‘продажа_cnt‘).asInteger:=query.fieldbyname(‘продажа_cnt‘).asInteger-1;end;
Форма ответа