Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Вниз

Вопром по 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
Спасибо, попробую.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.031 c
3-99906           Valentin              2001-12-28 15:09  2002.01.31  
DBDrid как в 1С


14-100037         frostbite             2001-12-04 13:39  2002.01.31  
JBuilder


14-100056         \/\/ \/\/ \/\/        2001-12-02 10:14  2002.01.31  
Помогите плииз!!!


4-100094          Русский               2001-11-30 20:49  2002.01.31  
Самый крутой и прикольный вопрос по API :-D


3-99912           RoadRunner            2001-12-28 20:57  2002.01.31  
Помогите новичку со вставкой данных