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

Вопром по DBF таблицам...   Найти похожие ветки 

← →
Nimnul ©   (2001-12-26 08:49) [0]

Есть таблица Table2 и связаный DBGrid.
Всего 6 колонок. 4 колонки пользователь
может изменять,а в 6 должна писаться сумма
всех четырех.Вопрос:
Надо считать это все динамически.
Пыталься использовать DataSource2.OnDataChange,
Table2.AfterPost
Но когда я пишу в 6 колонку(итоговую) вызываются эти события,
цикл однако.
Как можно выйти из ситуации?
(Ничего не могу придумать)


← →
panov ©   (2001-12-26 09:13) [1]

Создай вычисляемое поле.


← →
Nimnul ©   (2001-12-26 14:46) [2]

2panov
Спасибо, создал.
Но мне нужно сохранять в базу, я нашел
свойство fkinternalCalc, но генерит ошибку.
При fkcalculated все нормально, сделал
Table2.Edit все равно ошибка. :-(


← →
Delirium ©   (2001-12-26 15:02) [3]


var Ok:boolean;

procedure TForm1.Table1BeforeEdit(DataSet: TDataSet);
begin
Ok:=True;
end;

procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
Ok:=True;
end;

procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
if Ok then
begin
Table1.FieldByName("S").AsInteger:=Table1.FieldByName("N1").AsInteger+
Table1.FieldByName("N2").AsInteger;
Ok:=False;
end;
end;

И никаких "циклов".


← →
Delirium ©   (2001-12-26 15:18) [4]

Хотя, я тут попробывал, можно и просто:

procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
Table1.FieldByName("S").AsInteger:=Table1.FieldByName("N1").AsInteger+
Table1.FieldByName("N2").AsInteger;
end;

всё равно ничего не циклится.


← →
Jony ©   (2001-12-26 15:43) [5]

Попробуй суммирование поставить в обработчики события OnChange всех четырех полей в наборе данных, связанным с гридом. Если не ошибаюсь, то реагировать будет чуть ли не на каждый разряд, вводимый в поле.


← →
Nimnul ©   (2001-12-26 15:49) [6]

Теперь разобрался, но теперь когда ставлю
fkcalculated то все считается, а когда
fkinternalCalc то никаких изменеий ничего не считается и в
базу не пишется...

2Delirium
Спасибо, попробую.



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

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



Память: 0.46 MB
Время: 0.008 c
4-100107
Chup
2001-12-03 12:21
2002.01.31
CreateProcess


3-99900
Slava
2001-12-27 10:17
2002.01.31
MIDAS, Сервер приложений в виде DLL


1-99935
veZuk
2002-01-12 12:14
2002.01.31
Параметры запуска


14-100051
fliz
2001-12-07 11:37
2002.01.31
что лучше - сисадминство или прогерство?


1-100012
Havez
2002-01-13 18:45
2002.01.31
Выделение строки DBGrid цветом




   Наверх