|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите вывести данные строки бд в dbedit
Помогите плиз перечитал кучу статей на форуме так и не смог сделать то что надо
Есть база созданная а access в ней есть строка "summ" - в делфи в эту строку через dbedit1 вносять сумму услуги и надо чтоб все суммы услуг суммировались в dbedit2 или лучше в lebel что-бы отредактировать по считанную сумму нельзя было. фото прикладываю в архиве, буду очень благодарен за помощь!!! |
#2
|
|||
|
|||
Вариант 1.
Считаем локально. При изменении датасета сохраняем позицию курсора, потом отключаем визуальные компоненты, проходимся по датасету суммируя, потом возвращаемся к сохраненной позиции курсора. Типа так: Код:
var S : Currency; BM : Pointer; begin S := 0; BM := ADOQuery1.GetBookmark; ADOQuery1.DisableControls; Try ADOQuery1.First; While Not ADOQuery1.Eof Do Begin S := S + ADOQuery1.FieldByName('Summa').AsCurrency; ADOQuery1..Next; End; Finally ADOQuery1.GotoBookmark(BM); ADOQuery1.EnableControls; End; label1.Caption := CurrToStr(S); end; Вариант 2. На тот же момент просто вызываем запрос вида: Код:
SELECT SUM(Summa) AS Total FROM MyTable WHERE Parikmakher_id = :id Вариант 3. Пользуемся бесплатным сыром. Берем что-нить типа devExpress или похожих мощных библиотек. Там обычно такие функции уже встроенны, просто делаем настройку на показ соотв. агрегатной функции. Ну и куча промежуточных решений. У каждого есть свои плюсы и минусы. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Ekler1 (13.06.2017)
|