Access фильтры как в excel

Access 2010 дает вам возможность работать с огромным количеством данных, а это значит, что вам может быть сложно узнать что-либо о вашей базе данных, просто взглянув на нее. Сортировка и фильтрация — это два инструмента, которые позволяют настроить, как вы организуете и просматриваете свои данные, что делает его более удобным для работы.

Содержание:

  • О сортировке и фильтрации
  • Сортировка записей
  • Фильтрация записей
  • Создание фильтра из выделения
  • Создание фильтра из поискового запроса
  • Фильтрация текста по поисковому запросу
  • Фильтрация чисел с поисковым термином

Из этой статьи вы узнаете, как сортировать и фильтровать записи.

О сортировке и фильтрации

По сути, сортировка и фильтрация — это инструменты, которые позволяют организовать ваши данные. Когда вы сортируете данные, вы приводите их в порядок . Фильтрация данных позволяет скрыть неважные данные и сосредоточиться только на данных, которые вас интересуют.

Сортировка записей

Когда вы сортируете записи, вы вводите их в логический порядок , с похожими данными, сгруппированными вместе . В результате сортированные данные часто проще читать и понимать, чем несортированные данные. По умолчанию Access сортирует записи по их идентификационным номерам . Однако есть много других способов записи записей. Например, информация в базе данных, принадлежащей пекарне, может быть отсортирована несколькими способами:

  • Заказы можно сортировать по дате заказа или по фамилии клиентов, разместивших заказы.
  • Клиенты могут сортироваться по имени или по городу или почтовому индексу, где клиенты живут.
  • Продукты можно сортировать по названию, категории (пироги, пирожные, кексы и т.д.) или цене.

Вы можете сортировать как текст, так и цифры двумя способами: в порядке возрастания и убывания . Восходящий означает идти вверх , так что при сортировке по возрастанию устроят цифры от наименьшего до наибольшего и текста от А до Z . По убыванию означает спуск или наибольшее значение для чисел и от Z до A для текста. Сортировка идентификационного номера по умолчанию, отображаемая в ваших таблицах, является восходящей сортировкой, поэтому сначала отображаются наименьшие идентификационные номера.

В нашем примере мы будем выполнять сортировку по таблице. Однако вы можете сортировать записи в любом объекте Access. Процедура в основном такая же.

Для сортировки записей:

  1. Выберите поле в ячейке, которую вы хотите сортировать. В этом примере мы сортируем по фамилиям клиентов.
  2. Сортировка и фильтрация записей в Access

  3. Перейдите на вкладку « Главная » на ленте и найдите группу « Сортировка и фильтр ».
  4. Отсоедините поле, выбрав команду « Восходящий» или « Убывание» .
    • Выберите «Восходящий» для сортировки текста от A до Z или для сортировки чисел от наименьшего до самого большого. Мы выберем это в нашем примере, потому что мы хотим, чтобы последние имена были в порядке A-to-Z.
    • Выберите «Спуск», чтобы отсортировать текст от Z до A или отсортировать номера от самых больших до самых маленьких.
    • Сортировка и фильтрация записей в Access

  5. Теперь таблица будет отсортирована по выбранному полю.
  6. Сортировка и фильтрация записей в Access

  7. Чтобы сохранить новый вид, нажмите кнопку « Сохранить» на панели быстрого доступа.
  8. Сортировка и фильтрация записей в Access

После сохранения сортировки записи будут отсортированы таким образом, пока вы не выполните другой сортировку или не удалите текущий. Чтобы удалить сортировку, просто нажмите команду «Удалить сортировку».

Сортировка и фильтрация записей в Access

Фильтрация записей

Фильтры позволяют просматривать только те данные, которые вы хотите просмотреть . Когда вы создаете фильтр, вы устанавливаете критерии для данных, которые хотите отобразить. Затем фильтр выполняет поиск всех записей в таблице, находит те, которые соответствуют вашим критериям поиска, и временно скрывает те, которые этого не делают.

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

В наших примерах и пояснениях мы будем применять фильтры к таблицам. Однако вы можете применять фильтры к любому объекту Access. Процедура в основном такая же.

Чтобы создать простой фильтр:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы будем фильтровать по городу, потому что мы хотим увидеть список клиентов, которые живут в определенном городе.
  2. Сортировка и фильтрация записей в Access

  3. Появится раскрывающееся меню с контрольным списком. В отфильтрованные результаты будут включены только проверенные элементы. Используйте следующие параметры, чтобы определить, какие элементы будут включены в ваш фильтр:
    • Выберите и снимите флажки по одному, установив флажки. Здесь мы отменим выбор всех параметров, кроме Cary .
    • Нажмите «Выбрать все», чтобы включить каждый элемент в фильтр. При нажатии кнопки «Выбрать все» второй раз снимите все элементы.
    • Нажмите «Пусто», чтобы настроить фильтр для поиска только записей без данных в выбранном поле.
    • Сортировка и фильтрация записей в Access

  4. Нажмите «ОК» . Фильтр будет применен. В таблице наших клиентов теперь отображаются только клиенты, которые живут в Кэри.
  5. Сортировка и фильтрация записей в Access

Переключение фильтра позволяет включать и выключать его. Чтобы просмотреть записи без фильтра, просто нажмите кнопку Toggle Filter . Чтобы восстановить фильтр, щелкните его еще раз.

Сортировка и фильтрация записей в Access

Создание фильтра из выделения

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

Чтобы создать фильтр из выделения:

  1. Выберите ячейку или данные, с которыми вы хотите создать фильтр. Мы хотим увидеть список всех продуктов, содержащих слово « шоколад» в их именах, поэтому в поле «Название продукта» мы выберем слово «шоколад».
  2. Сортировка и фильтрация записей в Access

  3. Выберите вкладку « Главная » на ленте и найдите группу «Сортировка и фильтр».
  4. Нажмите стрелку раскрывающегося списка «Выбор».
  5. Сортировка и фильтрация записей в Access

  6. Выберите тип фильтра, который вы хотите настроить:
    • Содержит только записи с ячейками, которые содержат выбранные данные. Мы выберем это, потому что хотим видеть записи, содержащие слово « шоколад» в любом месте названия.
    • Не содержит все записи, кроме тех, которые содержат ячейки, содержащие выбранные данные.
    • Ends With включает только записи, данные которых для выбранного поля заканчиваются поисковым термином.
    • Не заканчивается. Включает все записи, кроме тех, чьи данные для выбранного поля заканчиваются поисковым термином.
    • Сортировка и фильтрация записей в Access

  7. Фильтр будет применен. В нашей таблице теперь отображаются только продукты со словом шоколад в их именах.
  8. Сортировка и фильтрация записей в Access

Создание фильтра из поискового запроса

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

Фильтрация текста по поисковому запросу

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

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

Чтобы фильтровать текст по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице заказов, чтобы отображать только те, которые содержат заметки с определенной информацией, поэтому мы нажмем стрелку в поле « Примечания» .
  2. Сортировка и фильтрация записей в Access

  3. В раскрывающемся меню наведите указатель мыши на слова Text Filters . В появившемся списке выберите способ, которым фильтр должен соответствовать введенному вами термину. В этом примере мы хотим просмотреть только записи, чьи заметки указывают, что заказ был размещен для стороны. Мы выберем Contains, чтобы мы могли искать записи, содержащие слово party.
  4. Сортировка и фильтрация записей в Access

  5. Появится диалоговое окно «Пользовательский фильтр». Введите слово, которое вы хотите использовать в своем фильтре.
  6. Сортировка и фильтрация записей в Access

  7. Нажмите «ОК» . Фильтр будет применен.
  8. Сортировка и фильтрация записей в Access

Фильтрация чисел с поисковым термином

Процесс фильтрации номеров с поисковым термином аналогичен процессу фильтрации текста. Однако при работе с числами доступны различные параметры фильтрации. В дополнение к Равно и не равно , вы можете выбрать:

  • Больше, чем включать только записи с числами в этом поле, которые больше или равны числу, которое вы вводите
  • Меньше, чем включать только записи с номерами в этом поле, которые меньше или равно числу, которое вы вводите
  • Между включениями записей с цифрами, которые попадают в определенный диапазон

Чтобы фильтровать числа по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице пунктов меню по цене, поэтому мы нажмем стрелку в поле « Цена» .
  2. Сортировка и фильтрация записей в Access

  3. В раскрывающемся меню наведите указатель мыши на слова Number Filters . В появившемся списке выберите способ, которым фильтр будет соответствовать вашему поисковому запросу. В этом примере мы хотим создать фильтр, который покажет нам только недорогие предметы. Мы хотим видеть предметы под определенной ценой, поэтому мы выберем Less Than .
  4. Сортировка и фильтрация записей в Access

  5. Появится диалоговое окно «Пользовательский фильтр». Введите число или цифры, которые вы хотите использовать в своем фильтре. Мы напечатаем 5, чтобы фильтр показывал нам только пункты меню, стоимость которых не превышает 5 долларов.
  6. Сортировка и фильтрация записей в Access

  7. Нажмите «ОК» . Фильтр будет применен.
  8. Сортировка и фильтрация записей в Access

Конкретные типы чисел могут включать в себя другие параметры фильтрации. Например, даты, хранящиеся в числовой форме (mm / dd / yy-eg, 12/01/2010), включают опции для фильтрации по периодам времени.

Сортировка и фильтрация записей в Access

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

Фильтрация — это полезный способ отображения только тех данных, которые должны отображаться в базах данных Access. С помощью фильтров можно отобразить определенные записи в форме, отчете, запросе или таблице или напечатать только определенные записи из отчета, таблицы или запроса. Применив фильтр, можно ограничить данные в представлении, не изменяя при этом оформление объекта.

В этой статье

  • Полезные фильтры

  • Выбор и применение типа фильтра

  • Удаление и повторное применение фильтра

  • Очистка фильтра

  • Сохранение фильтра

Полезные фильтры

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

Примечание: Столбцы таблиц и элементов управления в формах и отчетах, привязанные к выражениям, не поддерживают фильтрацию.

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

Например, чтобы просмотреть записи людей, дни рождения которых выпадают на определенный месяц, щелкните столбец «ДатаРождения», на вкладке «Главная» в группе «Фильтр сортировки &» нажмите кнопку «Фильтры дат» и выберите нужный период.

Фильтрация по полю даты

1. Доступные фильтры зависят от типа данных в выбранном столбце.

2. Фильтр «Все даты в периоде» игнорирует день и год в значениях даты.

В этом отфильтрованом представлении вы увидите только записи, в которых месяц в поле «ДатаРождения» имеет апрель.

Столбец "ДатаРождения" с фильтром по апрелю

1. Значок фильтра в заглавной области столбца и панели навигации по записям указывает на то, что текущее представление отфильтрована по столбце BirthDate.

2. В представлении таблицы при наведении указателя мыши на заголовок столбца вы увидите текущее критерий фильтра.

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

Например, чтобы увидеть имена контактных лиц, родиированных в апреле, можно отфильтровать таблицу «Контакты» по полю «СтранаРегион», а также по полю «ДатаРождения». Если фильтры применяются к нескольким полям в одном представлении, они объединяются с помощью оператора AND, например:

СтранаРегион = РФ AND ДатаРождения (месяц) = апрель

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

Для переключения между отфильтрованным и неотфильтрованным представлениями в группе «Сортировка & Фильтр» на вкладке «Главная» нажмите кнопку «Переключить фильтр».

Чтобы окончательно удалить фильтр из представления: очистка фильтра. Чтобы узнать, как очистить фильтры, см. раздел «Очистка фильтра».

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

К началу страницы

Выбор и применение типа фильтра

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

Если вы уверенно работаете с выражениями, то можете создавать собственные фильтры с помощью параметров на вкладке Фильтр документа.

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

Общие фильтры:фильтрация по определенным значениям или диапазону значений.

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

Фильтрация по форме:фильтрация по нескольким полям в форме или таблице либо поиск определенной записи.

Расширенный фильтр.Чтобы отфильтровать тип, в котором задаются настраиваемые условия фильтра.

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

Общие фильтры

Общие фильтры предлагаются для полей всех типов, кроме полей объектов OLE и полей, в которых отображаются вычисленные значения. Список доступных фильтров зависит от типа данных и значений выбранного поля.

Щелкните правой кнопкой мыши поле, которые нужно отфильтровать. Чтобы отфильтровать несколько столбцов или элементов управления, необходимо либо выбрать и отфильтровать каждый из них отдельно, либо использовать расширенный фильтр. Дополнительные сведения см. в разделах Фильтр по форме и Расширенные фильтры этой статьи.

Например, чтобы увидеть доступные фильтры для поля «ДатаРождения», на вкладке «Главная» в группе «Фильтр сортировки &» нажмите кнопку «Фильтр».

Общие фильтры по дате

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

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

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

Длинный и короткий списки обычных фильтров по дате

Примечание: Фильтры, зависящие от типа, недоступны для полей объектов OLE, вложений и логических полей. Список значений не используется для полей типа Memo или полей с форматированным текстом.

Применение общего фильтра

  1. Откройте таблицу, запрос, форму или отчет в режиме таблицы, формы, отчета или макета.

  2. Убедитесь, что представление еще не отфильтровано. Убедитесь, что на панели выбора записей есть значок «Без фильтра» или «Нет фильтра».

    Совет: 
    Чтобы удалить все фильтры для конкретного объекта, на вкладке «Главная» в группе «Сортировка & Фильтр» нажмите кнопку «Дополнительные» и выберите «Очистить все фильтры».

  3. Щелкните в любом месте столбца или управления, соответствующего первому полю, которое нужно отфильтровать, и на вкладке «Главная» в группе «Фильтр & сортировки» нажмите кнопку «Фильтр».

Чтобы применить общий фильтр: выберите фильтры «Текст» (или «Число» или «Дата»), а затем щелкните нужный фильтр. Фильтры, такие как «Равно» и «Между», вы запросуют ввод необходимых значений.

Совет:  Некоторые символы, например *, % и ?, в текстовом поле фильтра воспринимаются как специальные. Например, звездочка (*) представляет строку символов, поэтому строка «а*» соответствует любой строке, которая начинается с буквы а, а не только буквальному значению а*. Чтобы символ не воспринимался как специальный, заключайте его в квадратные скобки [], например: a[*]. В базах данных, использующих стандарт ANSI-89, специальными считаются символы *, ?, [, ], !, — и #. В базах данных, использующих стандарт ANSI-92, специальными считаются символы %, _, [, ], ^ и -. В Access можно использовать любой из этих стандартов, но не эти два стандарта (например, ?).a*) в определенном выражении.

Чтобы применить фильтр на основе значений полей: сделайте флажки рядом со значениями, которые не нужно фильтровать, и нажмите кнопку «ОК».

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

Чтобы отфильтровать пустые значения (пустое значение означает отсутствие данных) в текстовых, числовых полях и полях даты: в списке «поле со значением», а затем в списке «Выбрать все», а затем — рядом с полем «(Пустые)».

Фильтрация по выбору

Чтобы просмотреть все строки таблицы, содержащие значение, которое соответствует значению в строке, можно быстро отфильтровать таблицу, выбрав определенное значение и выбрав команду «Выделение». В списке отображаются доступные параметры фильтрации. Эти параметры зависят от типа данных выбранного значения. Еще один способ получить доступ к параметрам фильтра выделения — щелкнуть правой кнопкой мыши конкретную ячейку.

Например, если в поле «ДатаРождения» выбрано значение 21.02.1967, на вкладке «Главная» в группе «Фильтр сортировки щелкните «Выделение», чтобы отобразить фильтр по командам выбора, а затем выберите параметр фильтрации.

Список фильтров по выделению

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

Фильтр по частично выделенному полю

1. Фильтрация по началу значения поля…

2. …по середине значения поля…

3. …или по концу значения поля.

Примечание: Фильтрация по частично выделенному значению недоступна для многозначных полей. Команда «Выделение» недоступна для вложений.

Чтобы удалить фильтр, на вкладке «Главная» в группе «Сортировка & фильтра» нажмите кнопку «Фильтр» или кнопку «Дополнительные» и выберите «Очистить все фильтры».

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

  1. Откройте таблицу, запрос, форму или отчет в режиме таблицы, формы, отчета или макета.

  2. Убедитесь, что представление еще не отфильтровано. Убедитесь, что на панели выбора записей есть значок «Без фильтра» или «Нет фильтра».

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

Фильтрация по частичному выбору; Выберите нужные символы, а затем на вкладке «Главная» в группе «Сортировка & Фильтр» нажмите кнопку «Выделение» и выберите нужный фильтр.

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

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

Примечание: Используя фильтр по форме, нельзя задать значения ни для многозначных полей, ни для полей с данными типа Memo, «Гиперссылка», «Логический» или «Объект OLE», но можно задать значения для других полей в наборе записей.

Например, если вы хотите найти все записи клиентов, в которых контактное лицо имеет должность «Владелец» и находится в Москве или в Омске, откройте таблицу или форму «Клиенты», а затем на вкладке «Главная» в группе «Фильтр сортировки нажмите кнопку «Дополнительные», а затем выберите «Фильтр по форме».

Введите первый набор значений, затем перейдите на вкладку «Или» в нижней части таблицы или формы и введите следующий набор значений. Имейте в виду, что значение поля, которое нужно использовать как фильтр независимо от других значений полей, необходимо ввести на вкладке Найти и на каждой вкладке Или. Каждая вкладка Или представляет отдельный набор значений фильтра.

Чтобы увидеть только записи, которые соответствуют входным данным:    На вкладке «Главная» в группе «Фильтр & сортировки» нажмите кнопку «Фильтр».

Применение фильтра с помощью заполнения формы

  1. Откройте таблицу или запрос в режиме таблицы или форму в режиме формы.

  2. Убедитесь, что представление еще не отфильтровано. Убедитесь, что на панели выбора записей есть значок «Без фильтра» или «Нет фильтра».

  3. На вкладке «Главная» в группе «Фильтр & сортировки» выберите «Дополнительные фильтры», а затем в shortcut-меню выберите пункт «Фильтр по форме».

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

    Представление таблицы: Щелкните первую строку в столбце, к которому нужно отфильтровать значения, щелкните отображемую стрелку и выберите значение. Чтобы добавить дополнительные значения, просто щелкните вкладку «Или» в нижней части таблицы и выберите другое значение.

    Представление формы:щелкните стрелку, которая появится в этом оке, и выберите значение, по которому нужно отфильтровать значения. Чтобы добавить дополнительные значения, щелкните вкладку «Или» в нижней части формы и выберите другое значение.

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

    • Чтобы указать список возможных значений для поля, используйте оператор or. Например, чтобы отфильтровать записи, содержащие значение, в поле «Город» в поле «Город» укажите «Петербург» или «Калифорний».

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

    • Чтобы отфильтровать записи, которые имеют пустые (отсутствующие), непустые, пустые (пустые или «») или непустые значения, введите в поле значение Is Null,Is Not Null,«»или Not «».

  5. Если вы хотите указать два альтернативных набора критериев, например, чтобы увидеть только имена контактных лиц, родимых в апреле и родиированных в РФ, вы можете сделать следующее:

    • Чтобы получить все записи, которые соответствуют любому из нескольких наборов критериев, укажите условия, введите первый набор критериев, нажмите вкладку «Или» и введите следующий набор. Обратите внимание, что если вы хотите, чтобы значение поля было фильтром независимо от других значений полей, его необходимо ввести на вкладке «Найти» и каждой вкладке «Или». Другими словами, на вкладке «Искать» и каждой вкладке «Или» представлен альтернативный набор значений фильтра.

    • Также обратите внимание, что каждый раз при добавлении условия поля на вкладку «Или» в Access создается еще одна вкладка «Или». Это позволяет указать несколько альтернативных условий отбора. Фильтр возвращает любую запись, которая содержит все значения, указанные на вкладке «Искать», все значения, указанные на первой вкладке «Или», или все значения, указанные на второй вкладке «Или» и так далее.

Чтобы удалить фильтр и отфильтровать все записи, снова нажмите кнопку «Фильтр».

Чтобы изменить фильтр по форме, щелкните«Дополнительные параметры», а затем еще раз щелкните «Фильтр по форме». Появится текущий набор условий фильтра.

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

Иногда может потребоваться применить фильтр с расширенным типом и самостоятельно написать его критерий. Например, для поиска записей, содержащих даты, которые происходят в последние семь дней или последние шесть месяцев.

Для использования расширенных фильтров требуются написание выражений. Выражения похожи на формулы в Excel и на условия, которые вы указываете при разработке запроса.

Одним из примеров использования расширенных фильтров является поиск имен контактов, дни рождения которых произошли в последние семь дней. После применения дополнительного фильтра можно дополнительно ограничить результаты теми, у кого есть страна или регион США.

Применение расширенного фильтра

  1. Откройте таблицу, запрос, форму или отчет в режиме таблицы, формы, отчета или макета.

  2. Убедитесь, что представление еще не отфильтровано. В строке переходов по записям проверьте, что значок Нет фильтра отображается затененным (недоступен). Если строка переходов по записям не отображается, нажмите кнопку Дополнительно в группе Сортировка и фильтр на вкладке Главная и затем выберите команду Очистить все фильтры (если команда Очистить все фильтры недоступна, никакие фильтры не применены).

  3. На вкладке «Главная» в группе & фильтра сортировки нажмите кнопку «Дополнительные», а затем выберите в shortcut-меню пункт «Расширенный фильтр/сортировка».

  4. Добавьте в сетку поля, к которым требуется применить фильтр.

  5. В строке Условия отбора укажите условие для каждого поля. Условия применяются в виде набора, и отображаются только записи, которые соответствуют всем условиям в строке Условия отбора. Чтобы указать альтернативные условия для отдельного поля, введите первое условие в строке Условия отбора, второе условие в строке или и т. д.

    Советы: 

    • Весь набор условий в строке или применяется в качестве альтернативы для набора условий в строке Условия отбора. Любое условие, которое должно применяться в обоих наборах условий, необходимо ввести как в строку Условия отбора, так и в строку или. Нажмите кнопку Переключить фильтр, чтобы увидеть отфильтрованные строки.

    • Чтобы научиться задавать условия, примените к представлению общий фильтр или фильтр по выделенному, который позволяет получить желаемый результат. Затем, когда фильтр применен к представлению, отобразить вкладку объекта «Фильтр»

Специальные команды на вкладке «Фильтр документа»

На вкладке «Фильтр» документа доступны две специальные команды. Если щелкнуть правой кнопкой мыши в любом месте вкладки над сеткой конструктора, в этом меню будут доступны команды «Загрузить из запроса» и «Сохранить как запрос».

Особые параметры фильтров

Команда Загрузить из запроса позволяет загрузить макет выбранного запроса в сетку. Это позволяет использовать условия запроса в качестве условия фильтра.

Команда Сохранить как запрос позволяет сохранить параметры фильтра в виде нового запроса.

К началу страницы

Удаление и повторное применение фильтра

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

Удаляемые текущие фильтры временно удаляются из всех полей в представлении. Например, если вы сначала применяете фильтры по полям «СтранаРегион» и «ДатаРождения», а затем удаляете фильтры, то снова отображаются все записи.

Чтобы повторно применить последние фильтры, щелкните «Без фильтра» на панели навигации по записям.

К началу страницы

Очистка фильтра

Фильтр, который больше не нужен, можно очистить. При очистке фильтр удаляется из представления, и его уже нельзя повторно применить, щелкнув надпись Без фильтра в строке состояния. Можно очистить один фильтр из отдельного поля или все фильтры из всех полей в представлении.

  • Чтобы очистить один фильтр из одного поля, щелкните правой кнопкой мыши отфильтрованный столбец или поле управления и выберите «Очистить фильтр из имени поля».

  • Чтобы очистить все фильтры из всех полей, на вкладке «Главная» в группе «Фильтр сортировки &» нажмите кнопку «Дополнительные», а затем в ярлыке выберите пункт «Очистить все фильтры».

К началу страницы

Сохранение фильтра

Если вы снова будете использовать фильтр, может быть полезно сохранить его. При закрытии таблицы, запроса, формы или отчета параметры фильтра автоматически сохраняются вместе с объектом и становятся доступны для повторного выполнения. Но по умолчанию параметры фильтра не применяются автоматически при следующем открытии объекта.

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

Примечание:  Параметр свойства FilterOnLoad применяется только при загрузке объекта. Если задать его для объекта в конструкторе и затем переключиться в другое представление, новое значение применено не будет. Чтобы изменения в свойстве FilterOnLoad вступили в силу, необходимо закрыть и снова открыть объект.

К началу страницы

В этом уроке поговорим на тему «Фильтрация, сортировка и поиск данных в Microsoft Access».

Фильтрация, сортировка и поиск данных в Microsoft Access

Когда записей в таблице становится достаточно много, большое значение приобретает возможность просматривать их выборочно и в определенном порядке. С помощью инструментов страницы «ленты» «Главная» можно скрыть некоторые столбцы и записи таблицы, а также отсортировать записи по одному или нескольким полям. Для того чтобы спрятать на время выделенный столбец или группу столбцов, раскройте раздел «ленты» «Записи».
как сделать фильтры в access
Нажмите кнопку «Дополнительно» и выберите в открывшемся меню команду «Скрыть столбцы».

как сделать фильтры в access
Для того чтобы снова показать скрытые столбцы, раскройте раздел «ленты» «Записи», нажмите кнопку «Дополнительно» и выберите в меню команду «Отобразить столбцы…».

как сделать фильтры в access

как сделать фильтры в access

В открывшемся окне диалога необходимо отметить галочками те столбцы, которые должны отображаться в представлении данных таблицы. Сделанные в окне изменения сразу отображаются в представлении. Отметьте галочкой скрытый столбец и нажмите кнопку «Закрыть».

Для того чтобы отображать только записи таблицы, отобранные по определенному признаку, можно использовать фильтр, то есть условие, задаваемое для поля. После применения фильтра записи, не удовлетворяющие заданному условию, будут скрыты. Для назначения фильтра выделите один из столбцов, например, столбец «Сумма» и нажмите кнопку «Фильтр» в разделе «ленты» «Сортировка и фильтр».
как сделать фильтры в access

как сделать фильтры в access

В списке значений поля уберите значения, которые не должны отображаться путем снятия галочек напротив каждого из значений. Для применения фильтра нажмите кнопку «ОК».
как сделать фильтры в access

как сделать фильтры в access

как сделать фильтры в access

После применения нового фильтра представление данных обновляется. Поле с установленным фильтром маркируется специальным значком в заголовке.
как сделать фильтры в access

Для временного снятия фильтра с выделенного поля нажмите кнопку «Удалить фильтр».
как сделать фильтры в access

При снятии фильтра представление тоже обновляется. Повторно нажмите на эту же кнопку, чтобы включить фильтр снова.
как сделать фильтры в access

Для окончательной очистки фильтра щелкните по стрелке в заголовке столбца таблицы и выберите команду «Снять фильтр с Сумма».
как сделать фильтры в access

как сделать фильтры в access

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

Список доступных логических операторов будет зависеть от типа данных поля. Раскройте список «Числовые фильтры». Выберите в списке фильтр «Больше…» и, задав величину для сравнения, нажмите кнопку «ОК».
как сделать фильтры в access

Теперь на экране будут отражаться только записи, содержащие в поле «Сумма» значения не менее двадцати. К отдельному полю можно применить только один простой фильтр, однако для каждого поля можно определить свой. В этом случае отображаться будут только записи, удовлетворяющие одновременно всем условиям. Более сложные фильтры, которые могут включать значения нескольких полей одновременно, задаются с помощью команды «Параметры расширенного фильтра».

Параметры фильтра действуют до закрытия таблицы и не теряются при переключении режима отображения. Если сохранить таблицу, примененный фильтр будет доступен и при следующем её открытии. Включать и выключать сохраненный фильтр можно с помощью кнопки панели навигации «Без фильтра» — «С фильтром», надпись на кнопке отражает текущее состояние поля. Нажмите на кнопку с надписью «С фильтром», чтобы отключить фильтр.

Для упорядочивания записей в представлении данных таблицы применяется сортировка по текстовым, числовым значениям или по дате. Сортировка позволяет пользователям находить нужные данные, не просматривая все данные подряд. Записи можно сортировать по одному или нескольким полям. Для установки порядка сортировки по возрастанию значений поля нажмите кнопку «По возрастанию».
Для сортировки по убыванию значений нажмите кнопку «По убыванию».

Для отмены сортировки по всем полям сразу нажмите кнопку «Очистить все сортировки».

В Microsoft Office Access записи сортируются по возрастанию или по убыванию без учета регистра. Порядок сортировки чисел, текста и специальных знаков зависит от выбранных параметров языка и стандартов для данного компьютера. При сортировке по нескольким полям сразу результат будет зависеть от порядка применения режима сортировки к этим полям. В случае, когда надо найти одну или несколько записей по фрагменту текста, входящему в одно из их полей, можно воспользоваться стандартным средством поиска Microsoft Office Access. Нажмите кнопку «Найти» на странице «ленты» «Главная».

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

Для перехода на следующую найденную запись нажмите кнопку «Найти далее».

После завершения поиска закройте окно.

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

Это несложно сделать с помощью применения фильтра для источника данных формы (в данном случае — подчиненной). Фильтр можно применить двумя способами:

  • с помощью интерфейса Access (соответствующих кнопок на панели инструментов Режим формы (Form View), команд стандартного меню и контекстного меню поля формы);
  • с помощью изменения значений свойств формы.

Первый способ применения фильтра в форме во многом аналогичен подобным действиям в режиме Таблицы, которые были рассмотрены в разд. «Фильтрация данных»гл. 2. Здесь мы рассмотрим второй способ.

В этом случае применяются свойства формы Фильтр (Filter) и Фильтр включен (Filter On). Свойство Фильтр (Filter) содержит строковое значение — предложение WHERE на языке SQL (без ключевого слова WHERE). Свойство Фильтр включен (Filter On) определяет, применен ли фильтр, указанный в свойстве Фильтр (Filter), к форме. В отличие от свойства Фильтр включен (Filter On), свойство Фильтр (Filter) можно задать и в режиме Конструктора, в окне свойств формы, чтобы фильтр применился в момент загрузки формы. Но нам нужно изменять фильтр динамически — в процессе работы с формой в режиме Формы. Мы реализуем это с помощью процедуры VBA. : .

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

Рассмотрим решение этой проблемы на примере формы «Типы» (Categories), содержащей подчиненную форму «Список товаров» (Product List). Организуем отбор товаров в подчиненной форме в зависимости от наличия их поставок:

  1. Откройте форму «Типы» (Categories) базы данных «Борей» (Northwind) в режиме Конструктора.
  2. Создайте в главной форме элемент Поле со списком (Combo Box), содержащий два столбца с фиксированным набором значений (см. гл. 5). Метку списка назовите Условие:. Свойства списка должны иметь значения, описанные в табл. 9.1.
Свойство  Значение 
Тип источника строк (Row Source Type)  Список значений (Value List) 
Количество столбцов (Column Count)  2
Ширина столбцов (Column Widths)  Ост; 2, 5cm 
Данные (ControlSource)  оставьте поле свойства пустым 
Имя (Name)  Отбор 
Присоединенный столбец (Bound Column)  1
Источник строк (Row Source)  0; «Поставки выполняются»;— 1 ; «Поставки прекращены» ; 2 ; «Все товары» 

Таблица 9.1. Свойства фильтрующего элемента

Замечание

Обратите внимание на значения созданного элемента в свойстве Источник строк — 0, -1 и 2. Первые два значения выбраны в соответствии с возможными вариантами значений поля «ПоставкиПрекращены» (Discontinued) таблицы «Товары» (Products), которая является источником данных для подчиненной формы в настоящем примере. По этому полю и будет проводиться фильтрация данных в подчиненной форме.

  1. В окне свойств созданного списка раскройте вкладку События (Events) и нажмите кнопку Построителя слева от свойства После обновления (After Update).
  2. В появившемся диалоговом окне выделите элемент списка Программы (Code Builder) и нажмите кнопку ОК.
  3. Откроется редактор VBA со сгенерированным заголовком процедуры обработки события. Вставьте в процедуру следующий код:
    Private Sub Отбор_А£terUpdate() If Me!Отбор = 2 Then .Form.Filter = "" .Form.FilterOn = False Else ? .Form.Filter = _ " = " & Me!Отбор .Form.FilterOn = True End If End Sub В английской версии "Борей" вместо русских названий подчиненной формы  и поля  используйте их английские аналоги:  и . 
  4. Закройте редактор VBA. Сохраните форму.

Откройте форму «Типы» (Categories) в режиме Формы. Попробуйте выбирать в созданном списке разные значения и переходить от записи к записи. Вы увидите, что в соответствии с выбранным в списке значением, в подчиненной форме отображаются только товары с выполняющимися поставками, только товары с прекращенными поставками или все товары (см. также разд. «Синхронизация данных в связанных формах»гл. 13).

———————————————————
СКАЧАТЬ ФАЙЛ

Из объяснения в лабораторной работе действительно, но совсем понятно, как именно создается расширенный фильтр в Access.

Дословная цитата из лабораторной такова:

Режим фильтрации Расширенный фильтр использует специальный бланк для задания условий фильтрации, и позволяет указать для любого поля таблицы любой набор условий. Условия, заданные в одной строке Условия отбора соединены операцией И, а в разных строках операцией ИЛИ.
Чтобы получить информацию о фруктах категорий «Сушеные» и «В шоколаде», название которых начинается с символа “а”, расширенный фильтр имеет следующий вид:

Для создания такого фильтра можно использовать несколько способов, наиболее быстро это можно сдалать так:

1. Открыть таблицу Фрукты.
2. Выбрать в меню Записи/Фильтр/Изменить фильтр
3. Войти в поле Название фрукта и ввести а* (кириллический шрифт) для выбора фруктов, название которых начинается с буквы «а»
4. Перейти в поле Категория и выбрать из всплывающего меню категорию «Сушеные», при этом условие для поля Название фрукта изменится на Like а*

5. Перейти во вкладку или

а далее ввести условия для поля Название фрукта (а*) и Категория («В шоколаде»)

Остается лишь нажать кнопку Применить фильтр.
Если выбрать в меню Записи/Фильтр/Расширенный фильтр, можно убедиться, что бланк запроса выглядит именно так, как на рисунке.

lubashishka

3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

1

18.10.2020, 13:24. Показов 14477. Ответов 49

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

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

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

Visual Basic
1
2
3
4
5
6
Private Sub Выбор_вуза_AfterUpdate()
Me.FilterOn = False 'Отмена предыдущего фильтра (если был)
Me.Filter = "[Код_вуза]=" & Me.Код_вуза
Me.FilterOn = True 'Применение нового фильтра
 
End Sub



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

19.10.2020, 01:18

2

Цитата
Сообщение от lubashishka
Посмотреть сообщение

Даже никаких идей почему

Минимум две: название поля и тип поля. Конкретика только с примером.



0



3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

19.10.2020, 11:13

 [ТС]

3

Почему то исчез пример, прикрепленный к предыдущему сообщению.



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

19.10.2020, 11:45

4

Цитата
Сообщение от lubashishka
Посмотреть сообщение

пример

Смешно!
1) Какое me, если вы обращаетесь к подчиненной форме? Как нужно обращаться к подчиненной?
2) Имя поля Выбор_вуза, а не Код_вуза.
3) Я тут выкладывал пример для вашего случая, не надо никаких событий, по образцу и делайте
Создание формы для поиска записи из таблицы



0



lubashishka

3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

19.10.2020, 12:44

 [ТС]

5

Ваш пример я разобрала. Он чудесно работает в связке главная-подчиненная форма.

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

Я поняла, что из подчиненной формы мы обращаемся к более главное через Me.Parent(«ПолеСвязи1»).
А вот когда подчиненная обращается к главной или другой подчиненной, то рекомендуют прописывать полностью

Forms![Форма1]![Поле1].

Я перепробовала кучу вариантов. Пытаясь помещать поле Выбор_вузов и на главную форму и на подчиненную.
Почти никакой разницы.

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

Visual Basic
1
2
3
4
Private Sub Form_Current()
Me.Filter = "Код_вуза = 'МГУ'"
Me.FilterOn = True
End Sub

Но все «цать» вариантов перепробованные на привязывание подчиненной формы (трен_ИНФ) к полю со списком или другой подчиненной форме успеха не принесли.



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

19.10.2020, 13:02

6

Цитата
Сообщение от lubashishka
Посмотреть сообщение

успеха не принесли.

я про успехи вас не спрашивал, я вам задал конкретный вопрос



0



3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

19.10.2020, 13:39

 [ТС]

7

С обращением к подчиненной форме через Parent и child fields я разобралась, если вы это спрашиваете.

Вопрос про использование Form. Filter



0



Модератор

Эксперт MS Access

5122 / 2529 / 628

Регистрация: 12.06.2016

Сообщений: 6,749

19.10.2020, 14:16

8

Цитата
Сообщение от lubashishka
Посмотреть сообщение

Я поняла, что из подчиненной формы мы обращаемся к более главное через Me.Parent(«ПолеСвязи1»).

Это не так.
Какое еще «ПолеСвязи1» ?

Цитата
Сообщение от lubashishka
Посмотреть сообщение

А вот когда подчиненная обращается к главной или другой подчиненной, то рекомендуют прописывать полностью
Forms![Форма1]![Поле1].

И это не так.

Обращение из подчиненной к главной: Me.Parent — вот что нужно уяснить.
Этот «префикс» просто добавляется к обращению к другим контролам (или свойствам/методам) главной формы, будь то поле или другая подчиненная форма.



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

20.10.2020, 01:14

9

Цитата
Сообщение от lubashishka
Посмотреть сообщение

С обращением к подчиненной форме через Parent и child fields я разобралась

Я спросил конкретно: как обращаться к полю подчиненной формы? Не надо мне разглагольствования, мне нужна конкретная строка. Вы хотя бы в словарике слово parent посмотрите. Вас родители ваши мамой называют??



0



lubashishka

3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

20.10.2020, 13:09

 [ТС]

10

Я понимаю, что вы хотите сказать. Но у меня никак не получается правильно сделать. ВОт например так фильтрует, но при этом ругается на ошибку, которую мне никак не удается выловить…

Visual Basic
1
Me.Filter = "[Код_вуза]=" & "'" & Me.Parent.(Выбор_вузов).Text & "'"

Миниатюры

Применение фильтров формы из VBA.
 



0



Модератор

Эксперт MS Access

5122 / 2529 / 628

Регистрация: 12.06.2016

Сообщений: 6,749

20.10.2020, 13:17

11

Цитата
Сообщение от lubashishka
Посмотреть сообщение

ругается на ошибку, которую мне никак не удается выловить

А что ж сообщение-то диагностическое не приводите?
«Ругается», видите ли…
Не «ругается», а подсказывает Вам.

Свойство Text тут абсолютно не к месту.
Вот и вся причина. Для начала.



0



mobile

Эксперт MS Access

26777 / 14456 / 3192

Регистрация: 28.04.2012

Сообщений: 15,782

20.10.2020, 13:17

12

Свойство Text контролов доступно только при фокусе на контроле. Надо применять свойство Value, оно кстати умолчательное для контролов и писать его необязательно.

Visual Basic
1
Me.Filter = "[Код_вуза]='" & Me.Parent.Выбор_вузов & "'"

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

Visual Basic
1
Me.Filter = "[Код_вуза]=" & Me.Parent.Выбор_вузов

Опоздал



1



3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

20.10.2020, 14:23

 [ТС]

13

alvk, спасибо, что не прошли мимо.

Для тех, кто подобно мне запутается
Вот здесь нашелся рабочий пример Фильтр в подчиненной форме

Добавлено через 45 минут
mobile, ВЫ ВЕЛИКОЛЕПНЫ! Я уже со столькими проблемами разобралась благодаря множеству ваших сообщений за предыдущие года.
Пользуюсь случаем высказать почти личную благодарность!
Архив форума — великолепный учебник. Только сложно в большом объеме находить нужные места.



0



3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

20.10.2020, 19:08

 [ТС]

14

А если я хочу дальше продолжить цепочку фильтров, но уже с множественным выбором?
Чтобы вторая подчиненная форма отображала только те позиции, которые по ключевому полю(Код_ассорт) отражаются в 1 подчиненной таблице?

Понимаю, что делаю совсем не то..

Миниатюры

Применение фильтров формы из VBA.
 



0



alvk

Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

21.10.2020, 01:54

15

Цитата
Сообщение от lubashishka
Посмотреть сообщение

Me.Filter = «[Код_вуза]=» & «‘» & Me.Parent.(Выбор_вузов).Text & «‘»

Это обращение из подчинённой, а я вас спрашивал наоборот. На событии после обновления у каждого поля со списком

Visual Basic
1
2
me!Подчиненная.form.filter = "[Код_вуза]=" & Me!Выбор_вузов
me!Подчиненная2.form.filter = "[Код_города]=" & Me!Выбор_города

и так далее

Добавлено через 8 минут

Visual Basic
1
me.Подчиненная.form.filteron = true

После каждого фильтра не забудьте



1



lubashishka

3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

11.11.2020, 19:20

 [ТС]

16

С фильтром по одному критерию я справилась.
Работает в нескольких вариантах, например:
1.

Visual Basic
1
2
3
4
5
Private Sub Выбор_вуза_AfterUpdate()
Me.[пф_спец].Form.Filter = "[Код_вуза]='" & Me.Выбор_вуза _
        & "' or " & IsNull(Me.Выбор_вуза)
 Me.[пф_спец].Form.FilterOn = True
End Sub

2.

Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Выбор_вуза_AfterUpdate()
    Me![Выбор_подразд] = Null
    Me.Выбор_подразд.Requery
       ApplyFilter
    End Sub
 
Function ApplyFilter()
Me.[пф_Инф_ВУЗы].Form.Filter = "[Код_вуза]='" & Me.Выбор_вуза & "'"
 Me.[пф_Инф_ВУЗы].Form.FilterOn = True
End Function

А вот с несколькими критериями, никак не получается.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Выбор_вуза_AfterUpdate()
    ApplyFilter
End Sub
 
Private Sub Выбор_подразд_AfterUpdate()
    ApplyFilter
End Sub
 
Function ApplyFilter()
Dim strFilter As String
    strFilter = "True"
    If Not IsNull(Me.Выбор_вуза) Then
        strFilter = strFilter & " AND ([Код_вуза]='" & Me.Выбор_вуза & "')"
    End If
    If Not IsNull(Me.Выбор_подразд) Then
        strFilter = strFilter & " AND ([Код_подразд]='" & Me. Выбор_подразд & "')"
    End If
    Me.[пф_Инф_ВУЗы].Form.Filter = strFilter
    Me.[пф_Инф_ВУЗы].Form.FilterOn = True
End Function

Пыталась делать по действующему примеру texnik-san
Фильтр в подчиненной форме

Но ругается на ошибку, причем никак не удается вычислить эту ошибку

Миниатюры

Применение фильтров формы из VBA.
 

Применение фильтров формы из VBA.
 

Применение фильтров формы из VBA.



0



3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

11.11.2020, 19:22

 [ТС]

17

БД получилосьсохранить в более ранней версии



0



lubashishka

3 / 3 / 0

Регистрация: 19.04.2020

Сообщений: 119

11.11.2020, 20:09

 [ТС]

18

А если убрать кавычки от Выбор_подразд, то не находиться поле, независимо от того, пишу я Parent или нет (при этом, если ручками подставить цифру выбора, то подчиненная форма отфильтруется).

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Выбор_вуза_AfterUpdate()
    ApplyFilter
End Sub
 
Private Sub Выбор_подразд_AfterUpdate()
    ApplyFilter
End Sub
 
Function ApplyFilter()
Dim strFilter As String
    strFilter = "True"
    If Not IsNull(Me.Выбор_вуза) Then
        strFilter = strFilter & " AND ([Код_вуза]='" & Me.Выбор_вуза & "')"
    End If
    If Not IsNull(Me.Выбор_подразд) Then
        strFilter = strFilter & " AND ([Код_подразд]= Me.Выбор_подразд)"
    End If
Debug.Print strFilter
    Me.[пф_Инф_ВУЗы].Form.Filter = strFilter
    Me.[пф_Инф_ВУЗы].Form.FilterOn = True
End Function

Миниатюры

Применение фильтров формы из VBA.
 



0



431 / 239 / 86

Регистрация: 09.04.2018

Сообщений: 1,023

11.11.2020, 21:29

19

lubashishka, поле Код_Вуза — текстовое? Ну,как так то?

Миниатюры

Применение фильтров формы из VBA.
 



0



431 / 239 / 86

Регистрация: 09.04.2018

Сообщений: 1,023

11.11.2020, 21:51

20

Лучший ответ Сообщение было отмечено lubashishka как решение

Решение

lubashishka, вроде разобрался.



2



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

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

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

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

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

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

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

Для установки
фильтра:

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

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

  1. в
    меню «Записи»
    выберите команду Фильтр,
    затем – команду Фильтр
    по выделенному
    ;

  2. выберите
    команду Фильтр
    по выделенному

    в контекстном меню поля;

  3. щелкните
    по кнопке Фильтр
    по выделенному

    на панели инструментов.

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

выбрать команду Исключить
выделенное
.

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

Фильтр по вводу

Фильтр
по вводу применяется, если условием
отбора является простое выражение,
связывающее значение поля с заданным
значением оператором сравнения. Позволяет
найти записи, отвечающие нескольким
таким условиям одновременно (то есть
когда эти условия связаны логическим
оператором И).

Для установки
фильтра:

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

  2. Введите
    условие отбора в поле Фильтр
    для
    открывшегося контекстного меню (см.
    «Использование выражений в фильтрах»).

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

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

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

Обычный фильтр

Для установки
фильтра:

  1. В
    меню «Записи»
    выберите команду Фильтр,
    затем – команду

Изменить
фильтр

или щелкните по кнопке Изменить
фильтр

на панели инструментов.

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

  1. В эти поля вводятся
    условия отбора.

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

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

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

  1. После
    ввода всех условий отбора выберите
    команду Применить
    фильтр

    в меню «Фильтр» или щелкните по кнопке
    Применить
    фильтр

    на панели инструментов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Like this post? Please share to your friends:
  • Access самоучитель скачать в word
  • Access открыть файл excel макросом
  • Access не открывает файл excel
  • Access заполнение шаблона word
  • Access выгрузка запроса в excel