Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
Спасибо, попробую.



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

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

Наверх




Память: 0.45 MB
Время: 0.004 c
4-100110
Song
2001-12-02 22:50
2002.01.31
Узнать, что программа уже запущена


3-99867
Andrey196
2001-12-26 20:12
2002.01.31
Где взять отфильтрированные данные таблици


1-100011
kserg@ukr.net
2002-01-15 12:40
2002.01.31
Про меню (в смысле про TMainMenu)


6-100026
Диман
2001-11-09 12:18
2002.01.31
модуль Winsock - функции socket, connect и т.п.


1-99942
boriska
2002-01-13 02:47
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский