|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2013, 14:44 | #1 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 21
|
Подсчет суммы выбранных полей
Здравствуйте,уважаемые! Подскажите как лучше решить вопрос. Есть таблицы в acess. В delphi таблицы получаю через компоненты adoquery. Нужно подсчитать сумму чисел в полях по определенному критерию. На практике это выглядит так:
таблица Tovari и Kol_tov. В первой список существующих товаров ,во второй количество товаров в разрезе существующих складов. Поля таблицы tovari: nom_id,name,strana,cena и пр. Поля таблицы kol_tov: id_sklada,nom_id,kolich. В моем представлении нужно создать вычисляемое поле kolvo в таблице tovari где посчитать количество товара следующим образом: если tovari.nom_id=kol_tov.nom_id то прибавлять значение поля kolvo к сумме. Пробовал делать это в цикле в событии query oncalculate. Может стоит запросом? Подскажете примерный набросок такого запроса |
03.11.2013, 16:11 | #2 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 21
|
procedure TDataModule3.TovariCalcFields(DataS et: TDataSet);
var a,b,c,d:integer; begin c:=0; datamodule3.kol_tovara.First; while not datamodule3.kol_tovara.EOF do begin a:= datamodule3.Kol_tovaranom_id.asinte ger; b:= datamodule3.Tovarinom_id.asinteger; d:= datamodule3.Kol_tovarakolvo.asinteg er; if a=b then c:=c+d else datamodule3.kol_tovara.Next; end; end; Ошибка о том что набор данных kol_tovara не открыт. Последний раз редактировалось Pang; 03.11.2013 в 16:28. |
03.11.2013, 16:18 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Лучше в запросе. Например так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.11.2013, 16:49 | #4 | |
Пользователь
Регистрация: 22.02.2008
Сообщений: 21
|
Цитата:
Код:
|
|
03.11.2013, 17:29 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
http://technet.microsoft.com/ru-ru/l...=sql.105).aspx
В т.ч. и для ACCESS
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.11.2013, 09:14 | #6 |
Пользователь
Регистрация: 22.02.2008
Сообщений: 21
|
Спасибо! Разобрался!
SELECT T1.*, (SELECT SUM(T2.kolvo) FROM Количествотовара AS T2 WHERE T2.nom_id=T1.nom_id) AS allkol FROM Товары AS T1
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчет суммы | killer12rus | SQL, базы данных | 1 | 26.09.2010 00:35 |
Подсчет суммы | Владимир1988 | Помощь студентам | 7 | 05.12.2009 23:02 |
Подсчет полей в таблице | Arkatic | Общие вопросы C/C++ | 0 | 10.05.2009 22:52 |
Вывод списка выбранных полей, относящихся к элементу DBCheckListBox | Cvetok | Помощь студентам | 0 | 07.06.2008 16:20 |
выбор по нескольким параметрам и подсчет кол-ва выбранных строк | Oleshka | Microsoft Office Excel | 4 | 29.02.2008 11:38 |