Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Сумма чисел в колонке   Найти похожие ветки 

 
baklazan   (2008-07-30 18:06) [0]

Подскажите, пожалуйста, как реализовать код по подсчету чисел в колонке после ввода нового значения (результат в вычисляемом поле) при этом маркер оставался на текущей строке. Ввод значения производится DBGrid.


 
Сергей М. ©   (2008-07-30 20:29) [1]

Что значит "как" ?

ты расчитывал увидеть три строчки кода ? Или что ?


 
Правильный$Вася   (2008-07-30 20:35) [2]


> по подсчету чисел в колонке
> результат в вычисляемом поле

вычисляемое поле формируется на основании данных ОДНОЙ строки
а сумма по полю - это SELECT Sum(pole) FROM ...


 
baklazan   (2008-07-30 21:12) [3]

Нет, Правильный$Вася, Вы наверное не поняли.
После ввода любого числового значения я должен пересчитать сумму по всей колонке. Действовать while not eof или Locate не могу уходит маркер со строки ввода. Если запоминаю место, то визуально смещается таблица в DBGrig-е. Я ищу вариант чтобы маркер остался на прежней позиции, а сумму пересчитать.


 
Правильный$Вася   (2008-07-30 21:26) [4]


> Действовать while not eof или Locate не могу уходит маркер
> со строки ввода

disablecontrols


 
Виталий Панасенко ©   (2008-08-01 14:55) [5]

Bookmark+
> Правильный$Вася   (30.07.08 21:26) [4]


 
Виталий Панасенко ©   (2008-08-01 14:57) [6]

Хотя удобнее
> Правильный$Вася   (30.07.08 20:35) [2]


отдельный кверик считать будет.


 
Sergey13 ©   (2008-08-01 15:13) [7]

В принципе можно и в лоб решать. После открытия пробежаться по датасету и посчитать сумму. Перед редактированием запоминать старое значение, после поста пересчитать сумму с новым значением.
Еще можно взять EhLib (до версии 3.6 бесплатен) - там реализованы агрегаты.


 
Сергей М. ©   (2008-08-01 17:21) [8]


> ввода любого числового значения я должен пересчитать сумму
> по всей колонке


Это еще зачем ?

Пусть значение до редактирования равно N, а сумма при этом равна K.
После редактирования значение стало равно M, тогда сумма после редактирования будет равна K + M - N.

За каким лешим всякий раз после редактирования одной записи нужно бегать по всем записям - непонятно)

Пробежать нужно всего один раз при открытии набора данных, чтобы получить K.


 
девушка   (2008-08-07 12:10) [9]

DataSet.DisableControls;

id:=DataSet.FieldByName("my_id").AsInteger;

DataSet.First;

....

DataSet.Locate("my_id",id,[]);
DataSet.EnableControls;



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1234768111
Igorntk
2009-02-16 10:08
2009.04.05
Какие действия происходят при нажатии кнопок DBNavigator-а


2-1234434471
Slimer
2009-02-12 13:27
2009.04.05
GetVolumeInformation


2-1234764600
Abcdef123
2009-02-16 09:10
2009.04.05
TDBCombobox. Как НЕ позволить вводить новое значение?


2-1234427731
Mishenka
2009-02-12 11:35
2009.04.05
Как отменить автоматическое сохранение в DBRichEdit ?


15-1233679373
@!!ex
2009-02-03 19:42
2009.04.05
Американское Шоу(American Show)