Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.006 c
15-1234034595
blackman
2009-02-07 22:23
2009.04.05
Что-то тормозить стало


15-1234179927
dark_volk
2009-02-09 14:45
2009.04.05
C++ Кто знает


15-1233878286
pascal
2009-02-06 02:58
2009.04.05
Перестарьте заниматься ерундой!


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


3-1218479109
Евгений Р.
2008-08-11 22:25
2009.04.05
Изменение формулы вычисляемого поля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский