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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2014, 20:11   #1
anastassia
Пользователь
 
Аватар для anastassia
 
Регистрация: 18.08.2014
Сообщений: 11
По умолчанию delphi 7 вопросы

Как создать в базе данных математические действия над ячейками?? ? Например как в Excel, была возможность заложить формулу в ячейку, чтоб производился автоматический расчет.
anastassia вне форума Ответить с цитированием
Старый 16.10.2014, 20:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это делается вычисляемыми полями.
Опять таки все зависит от задачи. Опиши задачу тогда можно будет точнее рассказать что и как настраивать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.10.2014, 08:53   #3
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,799
По умолчанию

На уровне самой БД -- создать представление (view).
Vapaamies вне форума Ответить с цитированием
Старый 24.03.2015, 16:38   #4
anastassia
Пользователь
 
Аватар для anastassia
 
Регистрация: 18.08.2014
Сообщений: 11
По умолчанию

Создать для таблицы Tovar.db два вычисляемых поля Total (общая стоимость товара в рублях) и TotalUE (общая стоимость товара в у.е. (в $)).
Значения полей Total и TotalUE вычисляются по следующим правилам:
Total=Kolvo*Cena
TotalUE= Total/30.36
При расчете стоимости в условных единицах предполагается, что обменный курс составляет 30 руб. 36 коп.
Расположите на форме компоненты Table1, DataSource1, DBGrid1 для работы с БД (для таблицы Tovar.db) и свяжите их.
Сделайте поля Tovar, Kolvo, Cena набора данных Table1статическими.
В контекстном меню Редактора полей выберите пункт New Field. В поле Name задайте имя поля Total. В списке Type выберите значение Float. Установите переключатель Calculated в группе переключателей Field type. Нажмите ОК.
Произведите аналогичные действия для поля TotalUE.
Закройте Редактор полей.
Напишите обработчик события OnCalcFields для НД Table1:
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
Table1Total.AsFloat:=Table1.FieldBy Name('Kolvo').AsFloat*
Table1.FieldByName('Cena').AsFloat;
Table1TotalUE.AsFloat:=Table1Total. AsFloat/30.36;
end;
Чтобы отформатировать значение поля TotalUE можно написать следующий обработчик события OnCreate для формы:
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1TotalUE.DisplayFormat:='###.# #';
end;
Изображения
Тип файла: jpg Безымянный.jpg (51.5 Кб, 124 просмотров)

Последний раз редактировалось anastassia; 24.03.2015 в 16:40.
anastassia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросы по delphi Julia21 Помощь студентам 0 24.06.2013 00:23
Вопросы Delphi &VB Extez1 Помощь студентам 2 24.02.2011 22:25
Вопросы по Delphi Dinkall Помощь студентам 1 08.09.2010 19:01
Delphi 7. Вопросы от новичка. Neroaz Общие вопросы Delphi 6 26.03.2010 15:23
С++ и Delphi. Вопросы UnD)eaD)Snake Общие вопросы C/C++ 3 21.08.2007 20:11