Главная страница
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.02 c
4-4680
Squ
2002-10-22 09:26
2002.12.02
Передача информации между двумя приложениями...


14-4631
Anar
2002-11-11 21:31
2002.12.02
Вопрос по Outlook Express


3-4200
MMF
2002-11-13 14:14
2002.12.02
переполнение стека в Grid. Почему?


3-4180
Semu
2002-11-13 12:08
2002.12.02
DBGrid - (MEMO)- ORACLE продолжение


3-4210
Ируру
2002-11-13 18:58
2002.12.02
Путь к БД