Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Вычисляемые поля   Найти похожие ветки 

 
BAYES   (2003-07-10 17:05) [0]

Всем привет!! а тем Мастерам кто поможет с вопросом ПРОСТО ОГРОМНЕЙШИЙ ПРИВЕТИШЕ. Проблема простая(для меня сложная), так вот, есть форма на ней DBGrid, Table1, DataSource1 ну и все такое что нужно для работы с БД. Есть у меня столбец(Сумма) в нем есть записи 1..n, необходимо просчитать все поля столбца и получить что-то типа, "Итого" и отобразить в Label.
Огромное спасибо кто понял мой бред и помог.


 
XanderMan   (2003-07-10 17:09) [1]

> необходимо просчитать все поля столбца

Ты сам понял, что сказал?


 
Mike1 Kouzmine1   (2003-07-10 17:15) [2]

Возьми TDBGRIDEh, настрой Footer и все.


 
XanderMan   (2003-07-10 17:16) [3]

А если серьезно, то сделай это с помощью запроса.


 
Johnmen   (2003-07-10 17:19) [4]

А если совсем серьезно, то отложи в сторону свою прогу и иди читать литературу по программированию БД.

>XanderMan © (10.07.03 17:16)
>то сделай это с помощью запроса.

Такие ответы порождают шквал новых вопросов, когда у человека нет начальных знаний предмета...:)



 
XanderMan   (2003-07-10 17:20) [5]

> Johnmen

Согласен, но RTFM пока никто не отменял :-)


 
Соловьев   (2003-07-10 18:07) [6]

Что-то типа такого
with CustTable do
begin
DisableControls;
try
First;
while not Eof do
begin
Sum := Sum + FieldByName("Field2").AsInteger;
Next;
end;
finally
EnableControls;
end;
Label1.Text := IntToStr(Sum);
end;



 
BAYES   (2003-07-11 11:49) [7]

Спасибо, друг-товаричь Соловьев!!! Все работает отлично, конечно пришлось немного подкоректировать, ну да ладно.
Вопрос? Почему те кто писал с верху начали отправлять меня к "ликбезу", почему просто не ответить если понял, а не разводить дискусию. Конечно и Вам спасибо, постораюсь не писать так дурно, буду следовать точно как написано в первоисточниках. Спасибо.


 
ЮЮ   (2003-07-11 11:56) [8]

>BAYES (11.07.03 11:49)
Не забудь корректировать Label1.Text при вставке/удалении/корректировке записей, включении/выключении фильтра и т.д.


 
Соловьев   (2003-07-11 12:01) [9]


> BAYES (11.07.03 11:49)

не зачто. пример из хелпа :)))


 
MsGuns   (2003-07-11 13:31) [10]

Чтобы приведенный Соловьев © пример не "портил прическу" гриду (т.е. не швырял произвольно курсор с записи, где был юзер, в последнюю) и не "тормозил", сделай одно из двух:

1. Перед подсчетом запомни тек.запись (в букмарке, например), затем запрети отображение таблицы в датасорсе (Grid1.DataSource1.Enabled := false).
После завершения подсчета вернись в тек.запись юзверя (GoToBookMark или MoveBy) и включи отображение (Grid1.DataSource1.Enabled := true).

2. Используй еще один TTable на ту же таблицу. Его отображать не надо (т.е. не надо ни грида, ни источника данных), но по нему просто делать искательный цикл.

А вообще-то правильнее и существенно быстрее (да и профессиональнее) это делать запросом. В этом случае не надо проверять, в частности, наличие значения поля в КАЖДОЙ записи таблицы. Вместо лабеля можно использовать DB-Aware контролы и тогда для "освежения" суммы (или сумм) просто переоткрывать запрос.


 
Rolf   (2003-07-12 20:14) [11]

Почитай может кое-что
об Items.Count и т п



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

Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-10395
Igorek
2003-07-14 12:27
2003.08.04
Мы наконец-то открыли сайт - www.siriussoft.com


14-10389
Danilcha
2003-07-17 02:35
2003.08.04
Российский студент обошел программистов NASA


1-10225
Endi
2003-07-18 01:59
2003.08.04
И снова прозрачный Edit


11-10157
blackalex
2002-12-03 17:39
2003.08.04
Где Кладов?


14-10415
aga
2003-07-05 13:18
2003.08.04
Игрокам...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский