Форум: "Базы";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
ВнизСумма чисел в колонке Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c