Как сделать сортировку в запросе access

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Но почему то в результате выполнения запроса я вижу:
2 1 Цех №6 2 10 Цех №14 2 11 Цех №15 2 12 ОТК 2 13 Цех №11 2 2 Цех №7 2 3 Цех №8 2 4 Цех №9

TRANSFORM Count(LDRZ.TNR_MD) AS [Count-TNR_MD]
SELECT Left$(KOBRW!NAIM,1) AS NAIM1, KOBRW.KOD, Mid$(KOBRW!NAIM,2,27) AS NAIM2
FROM (((LDRZ INNER JOIN KUCB ON LDRZ.PBR_MD = KUCB.KOD)
INNER JOIN kcex ON KUCB.CEH = kcex.KOD) INNER JOIN KOBR ON LDRZ.KO_MD = KOBR.KOD)
INNER JOIN KOBRW ON KOBR.KODWS = KOBRW.KOD
WHERE (((LDRZ.SOST_MD)="0"))
GROUP BY Left$(KOBRW!NAIM,1), KOBRW.KOD, Mid$(KOBRW!NAIM,2,27)
ORDER BY Left$(KOBRW!NAIM,1), KOBRW.KOD
PIVOT Mid$(Right("0" & [KCEX]![KODP],1) & " " & Right("00" & [KCEX]![NPP],2) & " " & [NSK],6,10);

объединение (конкатенация) полей в PIVOT было сделано специально для возможности сортировки, но в заголовке поля мне KODP и NPP видеть не нужно, поэтому использую MID$. Но с использованием этой ф-ии пропадает нужная мне сортировка.

Сортировка в запросе
Всем привет. Есть запрос на вывод объявлений, сортировка в котором осуществляется по столбцу vip.

Сортировка в запросе
Доброго времени суток. В прилагаемой базе (Access2003) в запросе происходит сортировка по.

Сортировка в запросе
возникла следующая ситуация: каждая группа (1, 2, 3) проходит свой курс обучения, у каждой группы.

Сортировка в запросе
Помогите вывести максимальное кол-во на первое место Пока запрос такой Select ZadAmorK .

у Вас вроде получается сортровка по алфавиту в порядке возрастания, поэтому в запросе исользуйте оператор Order by и укажите столбец. по которому будет идти сортировка. Order by ставится в конце запроса

при этом цифры обозначают желаемый порядок сортировки (если порядок нужо часто менять, то будет малёха сложнее)

в вашем случае не удобнее ли добавить в таблицу "справочник предметов" дополнительное поле с порядковыми номерами, и по нему сортировать запрос? тогда можно обойтись без кода VB

в вашем случае не удобнее ли добавить в таблицу "справочник предметов" дополнительное поле с порядковыми номерами, и по нему сортировать запрос? тогда можно обойтись без кода VB

это я сделал!
вот посмотрите проблема в ЗапросеОтчет2

нужно чтобы по порядку выводились данные!

с первого столбика заканчивается на Русской литературе.
а вот второй столбик должен начинаться и заканчиваться так


Історія України
Всесвітня історія
Іноземна мова
Основи правових знань
Людина і суспільство
основи економіки
Фізична культура
Захист Вітчизни


вложена база данных
и скриншот ошибки

возникла следующая ситуация:
каждая группа (1, 2, 3) проходит свой курс обучения, у каждой группы свои предметы (некоторые пересекаются) и свое правило сортировки. В таблице предметов правило сортировки для каждой группы указано в отдельных столбцах. Как на примере имеющего кода вверху можно это реализовать?

а не надо для каждой группы отдельный столбец. нужна таблица с полями: кодгруппы, кодпредмета, номердлясортировки(вот бы оснастку для удобного установления такого порядка). тогда простым запросом на выборку по коду группы получаем таблицу для порядка сортировки

[b]west23[b\] расскажи, как сделал, а то я не очень с ходу разобрался как у тебя там все работает

вопроc решили стандартными средствами Access, в конструкторе отчета есть "Сортировка и группировка", собсно там все и решилось простой сортировкой по коду предмета)

а не надо для каждой группы отдельный столбец. нужна таблица с полями: кодгруппы, кодпредмета, номердлясортировки(вот бы оснастку для удобного установления такого порядка). тогда простым запросом на выборку по коду группы получаем таблицу для порядка сортировки

что бы не быть голословным выкладываю кусок базы, все же не могу представить себе как организовать сортировку для каждой группы. Порядок сортировки указан в таблице [Справочник_предметов] для каждой группы в своем столбце.
При нажатии на кнопку в форме формируется отчет на двух страницах, необходимо что бы во 2 странице предметы сортировались по правилу указаному в таблице [Справочник_предметов]. Бр-р-р, я думаю вы поймете о чем)))

P.S. хочется обойтись малой кровью, т.е. не создавать для каждой группы отдельный отчет)


Сортировка в запросе
как делать select чтобы было снизу вверх тоисть ss vahag hayko gor david aram

Сортировка Строк В Запросе
Текст запроса включает слова "УПОРЯДОЧИТЬ ПО Субконто1". А при обходе результата - фиг вам. Выдает.

Сортировка в перекрестном запросе
В перекрестном запросе в столбцах отображаются названия компаний, а в строках - названия экспертиз.

Сортировка в запросе mysql
Доброго времени суток! Не могу разобраться как сортировать поля по возрастанию, но.

В Microsoft Access записи сортируются по возрастанию или по убыванию без учета регистра. Однако при сортировке по кодам ASCII прописные и строчные буквы различаются, что и позволяет выполнять сортировку с учетом регистра. При помощи небольшого трюка можно обойтись и без VBA.

В конструкторе запросов создаем новое поле и пишем в нем:

Вспомогательное поле должно стоять в конструкторе запросов ДО сортируемого поля — тогда при сортировке данные будут отсортированы в первую очередь по нему:


Объяснение процесса. table, field — это название таблицы и поля, данные в которых нужно отсортировать. Функция Left() используется для получения первого символа в поле, по которому мы сортируем данные. Функция Asc() возвращает ASCII-код для первого символа. code: — название вспомогательного поля.

1. Поместить курсор в поле, по которому нужно выполнить сортировку.

2. Выполнить сортировку одним из следующих способов:

· на вкладке Главная в группе Сортировка и фильтр щелкнуть по кнопке По возрастанию или По убыванию;

· щелкнуть по кнопке раскрытия списка в заголовке столбца и выбрать один из вариантов: Сортировка от А до Я или Сортировка от Я до А;

· в контекстном меню поля выбрать одну из команд: Сортировка от А до Я или Сортировка от Я до А.

Можно выполнить сортировку по нескольким полям. В этом случае записи будут отсортированы по внешнему полю, а для одинаковых значений внешнего поля – по внутреннему. Чтобы отсортировать записи по нескольким полям, надо последовательно выполнить сортировку для каждого поля отдельно, начиная с внутренних полей и заканчивая внешним полем.

Поиск данных в таблице

1. Если поиск надо вести в одном поле, поместить курсор в это поле.

2. На вкладке Главная в группеНайти щелкнуть по кнопке Найти.

3. В открывшемся диалоговом окне в поле Образец ввести искомое значение.

Можно использовать подстановочные знаки:

? любой текстовый символ;

[ ] любой из символов, заключенных в скобки;

[! ] любой символ, кроме заключенных в скобки;

- любой символ из диапазона.

4. В поле Поиск выбрать имя поля для поиска данных только в текущем поле Или имя таблицы для поиска по всем полям.

5. В поле Совпадение выбрать один из трех вариантов совпадения образца со значением поля: С любой частью поля(образец может быть частью значения поля),Поля целиком(образец является целым значением поля) илиС начала поля(образец совпадает с началом поля).

6. В поле Просмотр выбрать направление поиска: Вверх(к первой записи),Вниз(к последней записи) или Все(по всей таблице).

7. Если при поиске необходимо учитывать регистр букв (прописные или строчные), установить режим С учетом регистра.

8. Установить режим С учетом формата полей для поиска данных в указанном формате.

9. Для поиска первого вхождения образца щелкнуть по кнопке Найти далее. Для поиска следующих вхождений также щелкать по кнопке Найти далее.

10. По окончании поиска закрыть диалоговое окно.

Замена данных в таблице

1. Если замену надо провести в одном поле, поместить курсор в это поле.

2. На вкладке Главная в группе Найти щелкнуть по кнопке Заменить.

3. В поле Образец ввести искомое значение.

4. В поле Заменить навести значение, на которое нужно заменить искомое значение.

5. В поле Поиск выбрать имя поля для поиска и замены данных только в текущем поле или имя таблицы для поиска и замены во всей таблице.

6. В поле Совпадение выбрать нужный вариант совпадения образца со значением поля:.

7. В поле Просмотр выбрать направление поиска.

8. Установить нужные режимы: С учетом регистра, С учетом формата полей.

9. Для автоматической замены всех вхождений щелкнуть по кнопке Заменить все.

10. Для выборочной замены щелкнуть по кнопке Найти далее. Найденный текст будет выделен.

Чтобы заменить найденный текст и перейти к следующему вхождению, щелкнуть по кнопке Заменить.

Чтобы оставить найденный текст без изменения и перейти к следующему вхождению, щелкнуть по кнопке Найти далее.

11. По окончании замены закрыть диалоговое окно.

Фильтрация данных

Фильтрация – отбор записей, удовлетворяющих заданным условиям.

Фильтр – набор условий, применяемых для отбора записей.

Фильтры создаются в таблицах, запросах и формах.

В MS Access 2007 предусмотрено четыре способа фильтрации: фильтр по выделенному фрагменту, фильтр по форме, обычный фильтр, расширенный фильтр.

Фильтр по выделенному фрагменту

Этот способ фильтрации применяется, если в таблице можно легко найти и выделить значение, которое должны содержать отбираемые записи.

1. В поле таблицы выделить значение, которое должны содержать отобранные записи.

2. На вкладке Главнаяв группеСортировка и фильтрраскрыть список кнопкиВыделение.

3. Выбрать из списка нужный вариант.

Если требуется найти записи, удовлетворяющие одновременно нескольким условиям, надо несколько раз применить фильтр. Отобрать записи, удовлетворяющие хотя бы одному из заданных условий, этот способ фильтрации не позволяет.

1. Выполнить одно из следующих действий:

· поместить курсор в поле, по которому нужно отфильтровать данные и на вкладке Главная в группе Сортировка и фильтр щелкнуть по кнопке Фильтр;

· щелкнуть по кнопке раскрытия списка в заголовке столбца.

2. В открывшемся списке приводятся все значения поля. Для фильтрации следует поставить флажки рядом с нужными значениями.

3. Для применения фильтрации по диапазону значений выбрать из списка фильтров нужный. Список фильтров зависит от типа данных поля. Например, это могут быть текстовые фильтры, числовые фильтры, фильтры дат.

Если заданы несколько условий по разным полям, то фильтр применяется поочередно для каждого поля.

Фильтр по форме

Если отбираемые записи должны удовлетворять хотя бы одному из нескольких заданных условий (т.е. условия связаны логическим оператором ИЛИ), удобно использовать фильтр по форме.

1. На вкладке Главная в группе Сортировка и фильтр раскрыть список кнопки Дополнительно и выбрать команду Изменить фильтр.

Появится окно фильтра, содержащее линейку полей таблицы. В эти поля вводятся условия отбора.

В простейшем случае условием может быть конкретное значение поля, которое можно выбрать из раскрывающегося списка.

Если условия ввести в несколько полей, они будут объединены логическим оператором И (если несколько условий, объединенных логическим оператором И,

накладываются на значения одного поля, то фильтр применяется несколько раз (по числу условий)).

Чтобы объединить условия логическим оператором ИЛИ, нужно ввести их на разных вкладках; следующая вкладка раскрывается щелчком по ярлыку ИЛИ в нижней части окна.

2. После ввода всех условий отбора на вкладке Главная в группе Сортировка и фильтр щелкнуть по кнопке Применить фильтр или выбрать команду Применить фильтр в контекстном меню окна фильтра.

Расширенный фильтр

1. На вкладке Главная в группе Сортировка и фильтр раскрыть список кнопки Дополнительно и выбрать команду Расширенный фильтр.

2. В строку Поле, расположенную в нижней части окна, ввести имена полей, для которых надо задать условия отбора или сортировки, одним из следующих способов:

· дважды щелкнуть мышью по имени нужного поля в списке полей, расположенном в верхней части окна;

· перетащить мышью нужное поле из списка полей в строку Поле;

· выбрать имя нужного поля из раскрывающегося списка в строке Поле.

3. Для полей, по которым надо отсортировать таблицу, щелкнуть мышью по ячейке в строке Сортировка и выбрать из раскрывшегося списка порядок сортировки. Если условия сортировки заданы по нескольким полям, то сортировка будет выполняться в порядке расположения этих полей слева направо.

4. Ввести условия отбора. Для ввода условий отбора используются строки Условие отбораи или. Условия, находящиеся в одной строке, связываются логическим оператором И; условия, находящиеся в разных строках – логическим оператором ИЛИ (следует иметь в виду, что в бланке расширенного фильтра имеется несколько строк или).

Если несколько условий отбора, объединенных логическим оператором И, накладываются на значения одного поля, то имя этого поля вносится в окно фильтра несколько раз (по числу условий). Все условия вводятся в одну строку, каждое – в отдельный столбец.

Если условие отбора содержит операции над полем, то оно составляется с помощью выражения, в которое входит имя поля, и это выражение вводится в строку Поле

3. После ввода всех условий отбора на вкладке Главная в группе Сортировка и фильтр щелкнуть по кнопке Применить фильтр или выбрать команду Применить фильтр в контекстном меню окна фильтра.

Чтобы отменить фильтр любого типа, надо повторно щелкнуть по кнопке Применить фильтр или выбрать команду снять фильтр в контекстном меню таблицы.

Использование выражений в фильтрах

Условия отбора в фильтрах задаются с помощью выражений.

Выражение представляет собой комбинацию идентификаторов, констант, функций и операторов, результатом которой является конкретное значение.

Идентификатор – элемент выражения, определяющий ссылку на значение поля.

Функции – заранее запрограммированные формулы. Синтаксически функция состоит из имени и следующих за ним круглых скобок. Если функция имеет аргументы (входные данные функции), то они записываются в этих скобках через точку с запятой.

Операторы – знаки операций над данными:

· арифметические операторы: +, -, *, /, \, mod;

· логические операторы: and, or, not;

· операторы сравнения с образцом: Between, In, Like;

· оператор слияния строковых значений (конкатенации): &.

Условия отбора в фильтрах можно разделить на два типа:

1. условия, не содержащие операций над полем;

2. условия, содержащие операции над полем.

К первому типу относятся условия вида:

а также несколько условий подобного вида, связанных логическими операторами.

Читайте также: