Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: CL | DM;

Вниз

Изменить значение во время ввода   Найти похожие ветки 

 
ruslan_as ©   (2002-11-14 12:45) [0]

Дан DBGrid, куда напрямую пользователи вводят значения (цену).
Как можно сделать, чтобы они вводили свою цену, а в базу записывалось эта цена умноженная на 1,1. Вроде просто, а сообразить не могу.


 
iNew ©   (2002-11-14 12:52) [1]

В какое-нибудь событие (Типа OnDataChange) засунь это самое умножение.


 
ЮЮ ©   (2002-11-14 12:58) [2]

А разницу в ценах на личный счёт переводить будешь?
Интересный клиент получится: пользователь вводит 1, а получает 1.1 ! А что он должен увидеть в поле редактирования, когда захочет его исправить? 1.1 или опять 1?


 
KoluChi ©   (2002-11-14 13:03) [3]

Нужно использовать 2 разных поля в dataset - одно для отображения и ввода, другое реальное для записи в базу данных.
при чтении из базы - select field, field/1.1 as view-field from ...
В программе при изменении view_field менять field.
В базу записать соответственно field.



 
ЮЮ ©   (2002-11-14 13:19) [4]

>Как можно сделать, чтобы они вводили свою цену, а в базу записывалось эта цена умноженная на 1,1

Почему же они сразу не вводят цену, умноженную на 1.1? Наверное, потому, что вводимая цена есть какое-то реальное свойствою Не с потолка же они её берут. Вопрос в другом. Почему тебя не устраивает введённая цена, зачем её тут же менять? Если где-то в другом месте, при рассчётах, должна использоваться не сама она, а умноженная на 1.1, во там и умножай, не меняя при этом значение в базе.


 
Roma111   (2002-11-14 13:32) [5]

Есть очень ценное предложение:
В таблицу базы записывай нормальное число, сделай вьюер который умножает на 1.1. Можно, конечно, и триггер написать на события INSERT, UPDATE, который умножает, но это неправильно с точки зрения нормальной логики.


 
Виталий Панасенко   (2002-11-14 13:33) [6]

BeforePost - > Tbl1Field1.AsFloat := Tbl1Field1.AsFloat * 1.1;


 
Виталий Панасенко   (2002-11-14 13:35) [7]

Или добавь в таблицу вычисляемое поле: Field2 computed by(Field1*1.1)



Страницы: 1 вся ветка

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-4221
Roman__M
2002-11-13 17:24
2002.12.02
Работа с Interbase-зовской БД


1-4489
id_privin
2002-11-18 20:29
2002.12.02
Отладка работы компонент в Design-time


7-4643
MegAnthropos
2002-09-30 16:38
2002.12.02
Как добыть конфигурацию железа?


1-4438
V-A-V
2002-11-20 08:33
2002.12.02
поиск в TreeView


4-4663
Tihas
2002-10-20 01:06
2002.12.02
Как отлавливать клавиши 37-40, другие системные