Страница 1 из 1
Как отсортировать записи по параметру исключения значений?
Добавлено: 31 авг 2004, 09:25
Natalia
Привет!
В общем дело такое.
Есть база данных.
В ней идет сортировка по 15 городам. С этим все ок. Но также, если вдруг попадается город (не из 15 основных), то его необходимо внедрить в отдельную категорию запроса, в который входят все города, не входящие в 15 основных, в том числе и "0" поле, где город неизвестен. Как это сделать?
Если я просто ставлю запрос на исключение одного какого-либо названия города, то все работает, но как только я добавляю остальные города, так сразу запрос отказывается выполнять мою команду.
Скорее всего, я некорректно ввожу формулу.
Помогите.
Пожалуйста.
Добавлено: 01 сен 2004, 08:58
Naeel Maqsudov
База-то какая!
DBF(Dbase, Foxpro), Paradox, MSJet(Access)
У меня лично мооре идей, как это сделать, но все зависит от того, какой использован движок и какова модель данных. Например, есть ли таблица, где перечислены эти 15 городов. Если есть, то одним способом, если нет - то другим. Может у вас есть таблица "Справочник городов", тогда задача решается добавлением поля "Основной", в этот справочник, включением его в индекс, объединением сортируемой таблицы со справочником, и сотрировкой по полям "Основной" и "Название".
А вот в MSJet есть очень богатый набор встроенных функций, и можно без объединения таблиц, добавить вычисляемое поле, и сотрировать по нему. Но еэто если данных не много (до нескольких тысяч строк).
Если я просто ставлю запрос на исключение одного какого-либо названия города, то все работает, но как только я добавляю остальные города, так сразу запрос отказывается выполнять мою команду.
Тут надо привести текст запроса который выполняется, и текст запроса, который не выполняется!
А еще указать какие компоененты используются для доступа к данным. TQuery?
Добавлено: 02 сен 2004, 06:55
Natalia
Привет!
База Access.
Данные в поле вводятся в ручную. Не берутся из поля со списком.
А потом у меня есть форма, в которой стоят кнопки, переходящие на отфильтрованные записи по названиям городов.
Их 15 основных. И 16 кнопка должна быть "Остальные", которая переходит к форме, где выдаются все остальные города и запись "0" в поле города.
Добавлено: 06 сен 2004, 01:29
Naeel Maqsudov
Ага, так значит надо не сортировать, а фильтровать!
Данные в поле вводятся в ручную.
Т.е. названия городов вводят в таблицу (т.е. как попало), а потом по этому значению делается фильтр?! Я бы НИКОГДА так не делал!
Проше всего на СВОБОДНУЮ форму положить список (или поле со списком). А еще (можно справа от списка) положить подчиненную форму связанную с этим списком. Все будет фильтроваться само собой по ЛЮБЫМ городам.
Самое сложное - это отсортировать список в особом порядке: чтобы сначала шли 15 основных городов по алфавиту, а потом все остальные по алфавиту. Тут к сожалению прийдется вычислять признак а потом сортировать по вычисляемому полю.
Добвавьте в запрос (левее названия горола) невидимое вычисляемое поле
Switch(Город="Станд1";1;Город="Станд2";1;...Город="Станд_N";1;2)
Тогда в этом поле будет 1 для стандартных городов и 2 для остальных. Можно сортировать.
Добавлено: 06 сен 2004, 01:31
Naeel Maqsudov
Не забудьте проиндексировать поле ГОРОД