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