Вниз
Скачать: CL | DM;

Получение значения поля только что вставляемой записи   Найти похожие ветки 

← →
supersan ©   (2003-04-21 16:40) [0]

Здравствуйте, господа. Возможно, данный вопрос уже где-то звучал, но не нашел я. :-(
А именно: в обработчике BeforePost нужно получить значение поля для только что вставленной записи. Отображение таблицы - в TDBGrid (если б был, например, DBEdit, то просто взял бы его Text). Возможно такое в принципе? Если да, то как? Если нет - то все равно как (см. сабж)?


← →
Zacho ©   (2003-04-21 16:46) [1]

http://www.ibase.ru/devinfo/generator.htm
Если кратко - получать перед вставкой записи


← →
Johnmen ©   (2003-04-21 16:48) [2]

Есть такая штука, как генератор. Используя его можно заранее получить уникальный идентификатор записи...


← →
Anatoly Podgoretsky ©   (2003-04-21 16:50) [3]

supersan © (21.04.03 16:40)
Такой записе еще нет, она будет после AfterPost


← →
supersan ©   (2003-04-21 16:53) [4]

Извините, мне не надо значение автоинкрементного поля, получаемого при использовании генератора. Надо посчитать значение поля, используя значение другого поля (сразу предупрежу, что алгоритм непростой, в триггер не загнать, или загнать с трудом). Как?


← →
3JIA9I CyKA ©   (2003-04-21 16:56) [5]

Есть способ. Но он не простой! В форуме не опишешь. А если опишешь - хрен кто прочитает!


← →
supersan ©   (2003-04-21 16:59) [6]


> Anatoly Podgoretsky © (21.04.03 16:50)

Дак если была такая запись, так и вопроса бы не было

> 3JIA9I CyKA © (21.04.03 16:56)

А хоть примерно?


← →
Соловьев ©   (2003-04-21 16:59) [7]


> сразу предупрежу, что алгоритм непростой, в триггер не загнать,
> или загнать с трудом). Как?

UDF, но все же может и ХП или трггер справиться...


← →
3JIA9I CyKA ©   (2003-04-21 17:00) [8]

>>алгоритм непростой, в триггер не загнать,
>>или загнать с трудом
Поподробней, плз.


← →
Zacho ©   (2003-04-21 17:02) [9]

Напиши подробнее, что тебе надо. Пока информации для ответа не достаточно.


← →
supersan ©   (2003-04-21 17:12) [10]


> Соловьев © (21.04.03 16:59)


> 3JIA9I CyKA © (21.04.03 17:00)

Во-первых, юзер может сам внести значение в это поле, поэетому желательно спросить, надо ли его рассчитать.
В-общем, предметная область, чувствую, без этого не договоримся. Расчет добавок к пенсиям. Есть таблица
CREATE TABLE TBPENS (
ID T_ID NOT NULL,
ID_CARD T_ID,
ID_VPENS T_ID,
R_PENS T_MONEY,
ZPL T_MONEY,
PERCENT T_PERCENT,
R_SUM T_MONEY,
DOPL T_MONEY,
NUM_RNV T_NUM,
DATE_RNV T_DATE,
DATE_NV T_DATE,
DATE_KV T_DATE,
DELETED T_DELETED COLLATE PXW_CYRL
);

Поле DOPL:=R_SUM-R_PENS, причем, если DOPL<PMIN (это значение из другой таблицы), то DOPL:=PMIN.
Причем юзер может изменить, например, какое-нибудь из полей R_SUM или R_PENS и захотеть пересчитать заново. Может ввести новую запись и захотеть посчитать. А может и сам ввести авторитарно значение DOPL и прога должна это принять. Т.е. задается вопрос:"Хотите пересчитать", в зависимости от ответа - считать или просто запостить.
Поля ZPL, PERCENT, R_SUM тоже рассчитываются, в зависимости от других таблиц, но с ними я справился. Нужно получить значение NEW.R_PENS, тогда будет мне в жизни щастье.
Есть идеи?


← →
supersan ©   (2003-04-21 18:06) [11]

Ну вот, совсем про меня забыли :-(


← →
3JIA9I CyKA ©   (2003-04-21 18:10) [12]

>>А может и сам ввести авторитарно значение DOPL и прога должна >>это принять.
Это случай, когда
new.dopl is not null
в противном случае считаем.
В чём сложность?


← →
supersan ©   (2003-04-21 18:25) [13]


> 3JIA9I CyKA © (21.04.03 18:10)

А если он изменит, например, поле R_Pens? Тогда, во-первых, уже нужен триггер BeforeUpdate, во-вторых, все равно остается проблема, а нужно ли пересчитывать?



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.008 c
1-34457
Петр
2003-04-29 09:57
2003.05.12
Проблема с Объектами в форме MDI -приложения


1-34456
Anonimus
2003-04-28 13:14
2003.05.12
Как сделать чтоб Edit не пикал..


1-34422
saty
2003-04-28 16:08
2003.05.12
файл с записями


6-34524
MMF
2003-03-14 13:25
2003.05.12
Ошибка при NMUDP.SendStream. Помогите побороть, плиз.


14-34594
Дмитрий К.К.
2003-04-24 06:19
2003.05.12
Именинники 24 апреля




   Наверх