Форум: "Базы";
Текущий архив: 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