Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 17:52   #1
needsomehelp
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 2
По умолчанию Суммирование значений в столбце

Добрый день! Сразу оговорюсь, что не владею необходимой терминологией и буду, к сожалению, описывать свою проблему тривиальными терминами и так, как я её понимаю.

Предисловие: Есть БД MSAccess, для которой написан GUI. Подключение к БД осуществляется посредством OLE. БД состоит из основной таблицы (назовём её условно tblMain) и дополнительной таблицы (tblSecondary). Новой записи в tblMain присваивается автоинкрементный ключ N. Новая запись в tblSecondary привязывается к записи в tblMain посредством ключа N.

Суть проблемы: Запись значений в tblMain производится в главной форме (пусть она называется frMain), а в tblSecondary - в гриде формы (назовём её frSecondary), вызываемой обработчиком OnClick одной кнопки во frMain. В гриде, вставленном во frSecondary, можно ввести несколько записей:



Мне же необходимо найти сумму введённых значений типа SmallInt (обведены на картинке) и отобразить её в текстовом поле, принадлежащем frMain.

Собственно, вопросы:

1. Как это грамотно сделать?
2. Когда производить суммирование (не при закрытии же формы frSecondary)?

Заранее благодарю и ещё раз извиняюсь за корявое объяснение.
needsomehelp вне форума Ответить с цитированием
Старый 25.01.2011, 22:59   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

"Рисуем" под ДБГридом одну строчку СтрингГрида.
Суммируем по полю (столбцу) :
Код:
sum:=0;
tblMain.First;
while not tblMain.Eof do
begin
sum:=sum+tblMain.FieldByName('SmallInt').Value;
tblMain.Next;
end;
StringGridSum.Cells[2]:=FloatToStr(sum);
Обработчик - на изменение поля tblMain.FieldByName('SmallInt')...
asmodey1 вне форума Ответить с цитированием
Старый 26.01.2011, 14:56   #3
needsomehelp
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 2
По умолчанию

Большое спасибо! Вы очень помогли! Всё суммируется на ура
Только я со СтрингГридом не заморачивался (он мне не нужен), а прописал значение суммы в задизейбленный DBTextEdit. Ну и обработчик таки назначил на OnClose формы с гридом.
needsomehelp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка уникальных значений в столбце kostya.myit Microsoft Office Excel 14 04.11.2012 10:33
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце Shpr0T Microsoft Office Excel 8 30.08.2010 17:52
Суммирование групп чисел в столбце Acro Microsoft Office Excel 10 15.07.2010 15:10
Суммирование значений БД Andi2118 БД в Delphi 3 12.10.2008 20:25
Поиск свободных значений в столбце IDENTITY sqlnovichok SQL, базы данных 0 07.03.2008 09:12