Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подсчет полей в базе данных... [D7, Paradox]


progr@mist ©   (2003-04-16 19:31:00) 

Плз, люди подскажите: есть база данных в ней происходят какие-либо изменения (новая запись, или изменение существующей) надо на это отреагировать и пересчитать значения по некоторым полям...
Я пробовал... по Table1.datachange но после добавления второй записи происходила перегрузка... потом программа вообще не запускалась пока не вырежу этот кусок кода... Заранее сенкс!


MsGuns   (2003-04-16 21:21:00) [1]

>mike-d © (16.04.03 20:39)
>ЗЫ Что есть "Table1.datachange"?

По всей видимости использовалось одноименное событие TDataSource

Читаем:

Occurs when the data in a record has changed, either due to field edits or moving the cursor to a new record.

Ясненько. У него на каждый клик на гриде (читай-на НД) срабытывало это событие. А ведь он мабудь навесил в обработчик бог весь что ;))


mike-d   (2003-04-16 20:39:00) [2]

// краткий англо-программисткий словарь
Insert, Edit, Delete (вставить, изменить, удалить); After (после), Before (перед/до того как)

У своего компонента TTable тыкаешь (в ObjectInspector) на закладку Events (события) и находишь следующее: AfterInsert, BeforePost и т.д. (перевод см. выше) Это т.н. обработчики событий. В твоем случае изменить значения полей можно по событию BeforePost.
Добавлю, что в событии BeforePost не надо делать лишних телодвижений вроде Table.Edit и Table.Post - просто присвой нужным поля нужные значения.

ЗЫ Что есть "Table1.datachange"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо