![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 26.07.2017
Сообщений: 3
|
![]()
Вообщем есть база данных в access подключенная к dbgrid1, в базе присутствует столбец где указывается количество ( название таблицы "БВП" название столбца "Количество") так вот у меня есть еще кнопка button1 при нажатии которой в label1 показывается сумма всего количества, то есть при добавлении (или удалении) записи через dbgrid1 например с количеством 5 и добавлении еще одной записи с количеством 3 то при нажатии кнопки в label1 отображается цифра 8. Вопрос такой как сделать так чтобы при добавлении или удалении записи через dbgrid1 автоматически обновлялся label1 а не при нажатии на кнопку? может есть какая процедура или событие куда вставить этот код?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а как Вы добавляете/удаляете запись? через DBNavigator ?
впрочем, это не важно. важно то, что DNGrid1 у вас связан с источником данных (dataset). открываете в инспекторе этот ваш набор данных (скорее всего у Вас это таблица), переходите в закладку "события" (events), находите там событие AfterPost, кликаете по нему, открывает редактор код, в открывшемся окошке пишете вызов вашего метода обновления. всё. можно проверять. p.s. если что, то там должны быть события AfterInsert, AfterDelete - можно и на них обработчик повесить. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Я бы так рекомендовал
Завести доступную обработчикам событий переменную, например OldCount В BeforeDelete и BeforeEdit запомнить в OldCount количество из текущей строки датасета. В BeforeInsert поместить в OldCount 0 В AfterDelete вычесть из всего количества OldCount В AfterPost вычесть из всего количества OldCount и прибавить количество из текущей строки датасета. Будет работать для любого визуального редактирования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 26.07.2017
Сообщений: 3
|
![]()
Спасибо! сделал на afterpost. можете еще помочь вот пишу код
Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Просто в AfterPost отловишь только вставку. Для редактирование, если оно есть, этого мало. А удаление вообще не отловишь. См. #3
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]() Цитата:
Если верить хэлпу, это событие возникает во всех случаях, даже в случаях UNDO... ![]() |
|
![]() |
![]() |
![]() |
#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 |