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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
6-10342
AndrewK
2003-05-27 14:45
2003.08.04
Как можно организовать оповещение на другую машину?


14-10405
Niko4543
2003-07-16 21:17
2003.08.04
Копмонент


4-10506
SeNtiMeL
2003-06-01 19:42
2003.08.04
Как TEdit другого приложения присвоить текст и послать ENTER


1-10295
Edvard
2003-07-22 12:13
2003.08.04
Помогите с RichEdit !


14-10457
Mike_Goblin
2003-07-18 15:26
2003.08.04
Сладкое слово - отпуск