Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.31;
Скачать: 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 вся ветка

Текущий архив: 2002.01.31;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.004 c
1-99984
helper
2002-01-13 07:03
2002.01.31
Реестр


1-100004
Slavan
2002-01-14 13:35
2002.01.31
Панель окон


1-100006
jorh
2002-01-15 09:14
2002.01.31
Индекс компонента - это круто


3-99909
Igor_thief
2001-12-28 15:53
2002.01.31
BDE


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский