![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменить значение во время ввода [D5, D6, IB6.x]
ruslan_as © (2002-11-14 12:45:00)Дан DBGrid, куда напрямую пользователи вводят значения (цену).
Как можно сделать, чтобы они вводили свою цену, а в базу записывалось эта цена умноженная на 1,1. Вроде просто, а сообразить не могу.
Виталий Панасенко (2002-11-14 13:35:00) [1]Или добавь в таблицу вычисляемое поле: Field2 computed by(Field1*1.1)
Виталий Панасенко (2002-11-14 13:33:00) [2]BeforePost - > Tbl1Field1.AsFloat := Tbl1Field1.AsFloat * 1.1;
Roma111 (2002-11-14 13:32:00) [3]Есть очень ценное предложение:
В таблицу базы записывай нормальное число, сделай вьюер который умножает на 1.1. Можно, конечно, и триггер написать на события INSERT, UPDATE, который умножает, но это неправильно с точки зрения нормальной логики.
ЮЮ (2002-11-14 13:19:00) [4]>Как можно сделать, чтобы они вводили свою цену, а в базу записывалось эта цена умноженная на 1,1
Почему же они сразу не вводят цену, умноженную на 1.1? Наверное, потому, что вводимая цена есть какое-то реальное свойствою Не с потолка же они её берут. Вопрос в другом. Почему тебя не устраивает введённая цена, зачем её тут же менять? Если где-то в другом месте, при рассчётах, должна использоваться не сама она, а умноженная на 1.1, во там и умножай, не меняя при этом значение в базе.
KoluChi (2002-11-14 13:03:00) [5]Нужно использовать 2 разных поля в dataset - одно для отображения и ввода, другое реальное для записи в базу данных.
при чтении из базы - select field, field/1.1 as view-field from ...
В программе при изменении view_field менять field.
В базу записать соответственно field.
ЮЮ (2002-11-14 12:58:00) [6]А разницу в ценах на личный счёт переводить будешь?
Интересный клиент получится: пользователь вводит 1, а получает 1.1 ! А что он должен увидеть в поле редактирования, когда захочет его исправить? 1.1 или опять 1?
iNew (2002-11-14 12:52:00) [7]В какое-нибудь событие (Типа OnDataChange) засунь это самое умножение.