Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизИспользование логики в создании вычисляемых полей Найти похожие ветки
← →
Lika_d (2004-08-20 09:35) [0]Ув. Мастера!!!
На форме лежат 2 компонента table, Datasource, Dbgrid
table1 - Справочник, table2 - Итоги
Структура табл1:
Kod_s -Код стоимости
stoimost -Стоимость;
Table2:
Kod_pr Код продукта (этот код большого значения не имеет)
Kod_s - Код стоимости
P_k - Потребное количество продукта
sum- Сумма
Так вот Sum:=P_k*stoimost (из табле1)
т.е. мне нужно чтобы значение стоимости была равна той записи которая указана в поле kod_s.
Я пробовала написать в процедуре table2.oncalcfields следующее:
var
x:variant;
begin
x:=table2.AsInteger;
table1.RecNo :=x;
table2.FieldByName("sum").Value :=table1.fieldbyname("stoimost").Value *table2.FieldByName("p_k").Value;
end;
Но выходит ошибка table1.stoimost не найден, как я поняла это из-за датасета
Помогите пожалуйста!!! Как это реализовать?
Если есть другие легкие методы посоветуйте!
Заранее благодарю!!!
← →
46_55_41_44 © (2004-08-20 09:50) [1]Солнышко насколько я вижу ты не корректно организовала БД. Ну зачем тебе отдельная таблица где должны быть цены и их коды...
Каждый товар имеет цену - это определенно.. То есть твоя table1 теряет всякий смысл!!!
Прделагая сделать так...
Table2:
Kod_Pr (как раз-таки должен иметь большое значение для дальнейшего использования... ключевое поле!!!)
Можно еще добавить
Naim_Pr - наименование продукта
Stoimost - стоимость
P_k - Потребное количество продукта...
Далее пишем такой вот запрос:
Select Kod_Pr, Naim_pr, Stoimost, P_K, (Stoimost * P_K) as Summa from Table 2
Order By Kod_Pr
и все получаешь все данные, которые нужны!!!
← →
Lika_d (2004-08-20 09:56) [2]
> 46_55_41_44 © (20.08.04 09:50) [1]
> Солнышко насколько я вижу ты не корректно организовала БД.
Эта програмка нужна мне для подготовки другой программы т.е. для тренировки предпологается что мне дадут другую программу в которой врядли удастся все в одну таблицу слить, там будут несколько справочников и и несколько видов итоговых таблиц связанных между собой
А за совет спасибо я и этот способ учту!!!
← →
46_55_41_44 © (2004-08-20 10:08) [3]Ну я же не предлагаю тебе все сливать в одну таблицу... просто данный случай решить лучше так...
ну, а если ты все-таки хочешь сделать своим путем, то:
Table2:
Kod_pr Код продукта (этот код большого значения не имеет)
Kod_s - Код стоимости
P_k - Потребное количество продукта
sum- Сумма - это поле не нужно!!!!
далее
SELECT Table2.Kod_Pr, Table1.Stoimost, Table2.P_K, ([P_K]*[Stoimost]) AS Summa
FROM Table1 LEFT JOIN Table2 ON Table1.Kod_s = Table2.Kod_S;
← →
Lika_d (2004-08-20 10:13) [4]:))
я чайник и еще не дошла до запросов куда это писать, и откуда потом его доставать и выводит в dbgrid и в quickrep е
← →
Sergey13 © (2004-08-20 10:29) [5]2[4] Lika_d (20.08.04 10:13)
>я чайник и еще не дошла до запросов куда это писать
Тогда отложи дела в сторону и срочно за книжку. Лучше потратить время с пользой. 8-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c