![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сумма элементов открытого запроса [D6]
PalPalych © (2005-05-23 00:32:00)Добрый вечер.
Такая ситуация: Имеется компонент Query.Запрос меняется при изменении значений одного из нескольких GroupBoxов. Данные, отсортированные в соответствии с выбранными значениями переключателей, отображаются в DBGrid. Необходимо, чтобы каждый раз, после изменения запроса, находилась сумма элементов некоторого поля, согласно выбранным параметрам.
Возможно ли этого добиться?
Заранее благодарю.
PalPalych (2005-05-24 14:00:00) [1]msguns © (24.05.05 09:45),
(если все в дезайне, то можно, конечно, положить еще один TQuery, который и настроить аналогично исходному, но сам запрос зделать агрегатным. Что, имхо, тоже непрофессионально) ;)
Именно так я и поступил!
Хоть и не професионально, зато работает!!!
Ещё раз спасибо за помощь!
msguns (2005-05-24 09:45:00) [2]Так и не понял про компоненты доступа. Если это BDE, то вложенный запрос SELECT FROM SELECT не прокатит ! В этом случае надо либо сканировать НД, предварительно его заблокировав, (что имхо, не по-джидайски), либо хитро создавать новый запрос, парсируя исходный (если все в дезайне, то можно, конечно, положить еще один TQuery, который и настроить аналогично исходному, но сам запрос зделать агрегатным. Что, имхо, тоже непрофессионально) ;)
PalPalych (2005-05-23 22:55:00) [3]Всё, разобрался. Всем принявшим участие большое спасибо.
Плохиш (2005-05-23 19:43:00) [4]>PalPalych (23.05.05 19:38) [15]
TQuery + F1, Там изучаешь свойства до прояснения. (Database)
PalPalych (2005-05-23 19:38:00) [5]undeclared idenfier: "Connection".
Более того не узнаёт свойство Connection и у других элементов TQuery.
Плохиш (2005-05-23 19:28:00) [6]PalPalych (23.05.05 19:07) [13]
Спасибо всем за участие.
msguns ©, спасибо за идею. Правда возникает ошибка в строке:
Connection := Query1.Connection;.
Прям так и говорит "Ошибка" и больше ничего?
PalPalych (2005-05-23 19:07:00) [7]Спасибо всем за участие.
msguns ©,спасибо за идею. Правда возникает ошибка в строке:
Connection := Query1.Connection;.
без этой строки запускается, но работает некоректно. Не подскажешь, в чём может быть причина?
msguns (2005-05-23 13:25:00) [8]>Sergey13 © (23.05.05 11:37) [11]
Чему учишь пацанов ?
А потом удивляемся, откуда берутся любители шары ;P
Sergey13 (2005-05-23 11:37:00) [9]2PalPalych (23.05.05 00:32)
Поставь EHLib -овский грид и наслаждайся безо всяких телодвижений. 8-)
http://www.ehlib.com/RUS/default.htm
msguns (2005-05-23 11:32:00) [10]SQL.Text := 'SELECT SUM(<Поле 1>), SUM(<Поле 2>),... FROM ('+
MyQuery.SQL.Text +')';
msguns (2005-05-23 10:53:00) [11]Для полученя сумм можно, к примеру, воспользоваться технологией вложения запросов, создав временный запрос по образу
with TADOQuery.Create(nil) do
begin
Connection := MyQuery.Connection;
SQL.Text := 'SELECT SUM(<Поле 1>), SUM(<Поле 2>),... FROM '+
MyQuery.SQL.Text;
Open;
EditSum1.Text := Fields[0].AsString;
EditSum2.Text := Fields[1].AsString;
...
Close;
Free;
end;
Вставить этот код в процедуру, переоткрывающую основной НД (MyQuery)
Lexa (2005-05-23 02:46:00) [12]Извини, забыл добавить, но чуствуется ты быстро раскусил о каком идет речь ... помойму GO только в нем существует
Zacho (2005-05-23 02:38:00) [13]Lexa (23.05.05 2:31) [6]
Бросай такие привычки :) Кстати, не забывай добавлять MS.
А то, знаешь ли SQL-серверов много есть.
Lexa (2005-05-23 02:31:00) [14]Это привычка от SQL Server
Zacho (2005-05-23 02:25:00) [15]Lexa (23.05.05 2:23) [4]
А что такое GO ?
:-P
Lexa (2005-05-23 02:23:00) [16]SELECT столбец наименований, SUM(столбец количества)
FROM таблица(ы), которая содержит эти столбцы
GROUP BY столбец наименований
GO
Zacho (2005-05-23 01:06:00) [17]PalPalych (23.05.05 0:52) [2]
Всё равно в вопросе не хватает необходимой информации для ответа. Приведи струкуру БД, и наконец-то напиши в чём именно проблема?
Какая СУБД ? Какие компоненты доступа ? Как построена программа ?
P.S. Мне сейчас скучно, так что если хочешь - высылай исходники мне на мыло. Но если я не отвечу - не обижайся.
PalPalych (2005-05-23 00:52:00) [18]Проще говоря, к примеру таблица видеофильмов, я выбираю жанр фильма, и при этом отображаются фильмы только этого жанра. И надо посчитать общую стоимость всех фильмов этого жанра. При выборе другого жанра, чтобы сразу менялась сумма....
Вычисляемое поле создал, но занести туда необходимое значение не удаётся.
Zacho (2005-05-23 00:41:00) [19]Возможно.
А в чём собственно проблема ?
Hint: опиши свою задачу подробнее. Конкретно в чём проблема ? И что такое "элементы некоторого поля" ? Вообще-то, поля должны быть атомарны :)