Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2007, 21:46   #1
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию Вычисляемое поле в базе

Доброго времени суток уважаемые коллеги. Подскажите пожалуйста как мне решить такую задачу: у меня в базе есть поля ..., цена, кол-во, сумма, ... Как мне сделать чтобы сумма вычислялась автоматически (цена * кол-во)
VVVadim вне форума Ответить с цитированием
Старый 26.09.2007, 21:57   #2
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

lablel1.text:= table1цена.asFloat * table1кол-во.asfloat;
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 27.09.2007, 06:16   #3
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от VVVadim Посмотреть сообщение
Доброго времени суток уважаемые коллеги. Подскажите пожалуйста как мне решить такую задачу: у меня в базе есть поля ..., цена, кол-во, сумма, ... Как мне сделать чтобы сумма вычислялась автоматически (цена * кол-во)
1. С помощью редактора полей:

Для его вызова нужно дважды щелкнуть по компоненту-источнику или вызвать его локальное меню (правой кнопкой мыши) и выбрать FieldEditor. Вся работа с редактором полей ведется с помощью его локального меню. Для создания вычисляемых полей используется опция New Field этого меню.

В диалоговом окне New Field нужно выбрать переключатель Calculated (Field Type), ввести имя создаваемого поля (Name), выбрать его тип (Type) и для строковых полей указать длину (Size).

Для нового поля будет создан компонент TField.

Чтобы вычислить значение нового поля, необходимо задать обработчик события OnCalcFields для компонента источника, к которому оно принадлежит. Что-то наподобии:

Код:
 
procedure TForm1.SQLQuery1CalcFields(DataSet: TDataSet);
begin
 SqlQuery1[mySumm]:=SqlQuery1[Cena]*SqlQuery1[Kol];
end;
Кроме того, если свойство AutoCalcFields набора данных содержит True, событие OnCalcFields наступает также и при модификации значений невычисляемых полей.

2. С помощью SQL запроса:

Что-то наподобии:

Код:
 
SELECT Cena, Col, (Cena*Col) AS MySumm FROM myTable
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 27.09.2007, 08:20   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

все віше сказанное - верно... Но как вариант, можно все єто в процедуру засунуть, чтобі вічисление біло на сервере, а не на клиентской машине...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить вычисляемое поле в grid? kate158 Помощь студентам 10 22.08.2008 13:40
Вычисляемое поле в RaveReport ГОСЕАН БД в Delphi 1 15.05.2008 07:59
Delphi 7 вычисляемое поле Riddick Помощь студентам 3 27.12.2007 06:55
Поиск по базе Таня84 БД в Delphi 3 09.02.2007 10:53
как найти поле в базе? zetrix БД в Delphi 3 13.11.2006 15:21