![]() |
|
![]() ![]() ![]() |
|
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Всем привет, подскажыте как можно использовать ф-ю rank в запросе к базе даных Access или ето нереально !!! Большое Списабо !!!
Примерный запрос:
Это сообщение отредактировал(а) Vaskevych - 17.2.2011, 21:48 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
А что за функция такая?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Ф-я которая отвечает за установку места относительно параметра, аналог РАНГ (RANK) в Excel.
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Это же агрегатная функция, сомневаюсь что акцесс такое поддерживает.
Vaskevych, у Тома Кайта подсмотрел? -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Ладно, если нет ф-ї буду писать сам, помогите !!!
Значит есть значения например: зн. Ранг 3 2 7 4 7 4 2 1 6 3 Как я понимаю, сначала ищем минимальное значение (ето отправная точка). min = 2, rank =1 Потом, ищем следующее min+1 если есть rank = 2 если нет ищем следующее. как ето реализовать в Delphi покоректнее. |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
А разве от сортировки ранг не зависит? Если в обратную сторону отсортировать то ранг 1 будет у максимального значения или я что-то путаю? Добавлено через 2 минуты и 20 секунд Вдогонку описание агрегатной функции rank в oracle Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Значит пишу свою ф-ю есть прогресс (потом выложу всем) только один вопрос можно ли в SQL запросе загнать значения какогото поля в массив. ?????
|
|||
|
||||
Vaskevych |
|
||||||||||||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Значит так как обещал, помогаю таким как я сам:
![]() вот результат. ![]() 1. Задаем поля Calculated для возможности вывода подсчетов. 2. В обаботчике CalcFields потомка ADOQuery (например) пишем код:
Что делает етот код ??? Он загоняет значения одного столбика в список с уникальным идентификатором (для возможности редактирования). RecP: TRecord Мой виртуальний список основан на TList (С понятных причин его не выбрасываю напишете сами):
3. В обработчике AfterOpen пишем код ado2tb.Clear; - очищаем список от значений. 4. В обработчике AfterPost пишем код
Изменяем значение которое редактировалось. 4. Сверху пишем
5. Сортируем масив методом пузырька (или другим)
6. И вот сама функция которая отвечает за установку ранга
7. Все ... ![]() |
||||||||||||
|
|||||||||||||
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Добавлю что для пересчета поля CalcFields используйте ф-ю ниже но предварительно проверте открыт ли компонент.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |