|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.07.2017, 07:00 | #1 |
Регистрация: 26.07.2017
Сообщений: 3
|
Автоматическое обновление Label1 (Delphi 7)
Вообщем есть база данных в access подключенная к dbgrid1, в базе присутствует столбец где указывается количество ( название таблицы "БВП" название столбца "Количество") так вот у меня есть еще кнопка button1 при нажатии которой в label1 показывается сумма всего количества, то есть при добавлении (или удалении) записи через dbgrid1 например с количеством 5 и добавлении еще одной записи с количеством 3 то при нажатии кнопки в label1 отображается цифра 8. Вопрос такой как сделать так чтобы при добавлении или удалении записи через dbgrid1 автоматически обновлялся label1 а не при нажатии на кнопку? может есть какая процедура или событие куда вставить этот код?
|
26.07.2017, 08:26 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а как Вы добавляете/удаляете запись? через DBNavigator ?
впрочем, это не важно. важно то, что DNGrid1 у вас связан с источником данных (dataset). открываете в инспекторе этот ваш набор данных (скорее всего у Вас это таблица), переходите в закладку "события" (events), находите там событие AfterPost, кликаете по нему, открывает редактор код, в открывшемся окошке пишете вызов вашего метода обновления. всё. можно проверять. p.s. если что, то там должны быть события AfterInsert, AfterDelete - можно и на них обработчик повесить. |
26.07.2017, 09:14 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Я бы так рекомендовал
Завести доступную обработчикам событий переменную, например OldCount В BeforeDelete и BeforeEdit запомнить в OldCount количество из текущей строки датасета. В BeforeInsert поместить в OldCount 0 В AfterDelete вычесть из всего количества OldCount В AfterPost вычесть из всего количества OldCount и прибавить количество из текущей строки датасета. Будет работать для любого визуального редактирования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.07.2017, 16:38 | #4 |
Регистрация: 26.07.2017
Сообщений: 3
|
Спасибо! сделал на afterpost. можете еще помочь вот пишу код
Код:
|
26.07.2017, 16:57 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Просто в AfterPost отловишь только вставку. Для редактирование, если оно есть, этого мало. А удаление вообще не отловишь. См. #3
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.07.2017, 18:38 | #6 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
Цитата:
Если верить хэлпу, это событие возникает во всех случаях, даже в случаях UNDO... |
|
26.07.2017, 19:27 | #7 |
Регистрация: 26.07.2017
Сообщений: 3
|
Спасибо огромное! действительно OnRecordChangeComplete работает так как мне нужно.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматическое обновление программы | IronSkull | C++ Builder | 1 | 13.05.2016 08:24 |
Автоматическое обновление цен | bitup | PHP | 14 | 03.04.2014 00:33 |
Автоматическое обновление программы | Paul Hindenburg | Работа с сетью в Delphi | 23 | 06.09.2011 15:51 |
Автоматическое обновление | ogololobov2009 | Microsoft Office Excel | 1 | 27.01.2011 19:19 |
Автоматическое обновление программы. | Casper-SC | Общие вопросы .NET | 0 | 22.05.2010 20:41 |