Сортировка, поиск и фильтрация данных

Данные, которые хранятся в таблицах базы данных, могут быть эффективно использованы только при условии если существуют простые и доступные средства поиска нужной информации. Таблицы могут содержать огромное число записей, и хорошая СУБД должна обеспечить возможность быстро и легко найти и отобрать среди них нужные. Access 2010 является в этом отношении примером того, как можно при выполнении этих операций обеспечить максимальное удобство для пользователей и в то же время эффективность обработки больших объемов данных.
Сортировка данных в таблице
Операция сортировки данных используется всегда для удобства нахождения нужной информации. Когда на экране (или на бумаге) отображается таблица, гораздо легче найти нужную строку, если эти строки упорядочены. Вы привыкли к тому, что табличные данные упорядочены по алфавиту, по дате, по увеличению или уменьшению значений в столбцах, содержащих числа. Но в разных ситуациях мы хотели бы сортировать строки по разным признакам (столбцам таблицы). В идеале это должно выполняться легким движением руки. Именно так и позволяет делать Access. По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов: Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).
Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню соответствующую команду.
Таким образом можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать — нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.
Чтобы правильно применять сортировку, нужно знать несколько простых правил.

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

Замечание
Порядок сортировки зависит от настроек языка, определенных в диалоговом окне Параметры (Options) при создании базы данных. Чтобы изменить эту настройку, необходимо выбрать в меню Сервис (Tools) команду Параметры (Options), открыть вкладку Общие (General) и в поле Порядок сортировки базы данных (New database sort order) выбрать нужный язык.
Совет
Процесс сортировки значительно ускоряется, если предварительно по данному полю был построен индекс.
Если вы изменили порядок сортировки записей в таблице, а потом решили ее закрыть, Access запрашивает, хотите ли вы сохранить изменения макета. Если вы ответите Да (Yes), то новый порядок сортировки сохранится и воспроизведется, когда таблица будет открыта в следующий раз. Для того чтобы вернуться к первоначальному порядку сортировки (по значению ключевого поля), необходимо выполнить команду меню Записи, Удалить фильтр (Records, Remove Filter/Sort).
Иногда нужно выполнить сортировку по значению нескольких полей. Для этого переместите сначала сортируемые столбцы таким образом, чтобы они оказались, во-первых, рядом, а во-вторых, с учетом приоритетов, — приоритеты устанавливаются слева направо, т. к. первыми будут сортироваться значения в крайнем левом столбце. После этого нужно выделить все столбцы и нажать, соответственно, кнопку Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending) на панели инструментов.
Поиск и замена данных
В режиме Таблицы предусмотрены возможности поиска данных по образцу либо в конкретном поле, либо во всей таблице.
Чтобы найти необходимые данные, нужно:

  1. Открыть таблицу в режиме Таблицы.
  2. Если известно, в каком столбце нужно вести поиск, выделить этот столбец (достаточно поместить курсор в любое поле этого столбца).
  3. Нажать кнопку Найти (Find) на панели инструментов Режим таблицы (Table Datasheet) и открыть вкладку Поиск (Find) или выполнить команду меню Правка, Найти (Edit, Find). Появится диалоговое окно Поиск и замена (Find and Replace).
  1. Ввести значение, которое требуется найти, в поле Образец (Find What). Если точное значение неизвестно, можно использовать подстановочные знаки.
  2. Остальные параметры в окне можно изменить или оставить так, как они установлены по умолчанию:
    • значение в поле со списком Поиск в (Look In), определяющее место поиска, по умолчанию содержит название выбранного столбца;
    • значение в поле со списком Совпадение (Match) определяет один из трех вариантов совпадения образца со значением поля — С любой частью поля (Any Part of Field), Поля целиком (Whole Field), С начала поля (Start of Field);
    • поле со списком Просмотр (Search), в котором можно задать направление поиска: Все (Аll), Вверх (Up), Вниз (Down);
    • флажок С учетом регистра (Match Case) позволяет при поиске учитывать начертание букв — прописные или строчные;
    • флажок С учетом формата полей (Search Fields As Formatted) позволяет выполнять поиск данных в указанном формате отображения.

Чтобы найти первое вхождение указанного образца, нажмите кнопку Найти следующий (Find Next).
Для поиска следующих вхождений этого значения нажимайте кнопку Найти далее (Find Next) до тех пор, пока не будет найдено нужное вхождение.
Для доступа к окну Поиск и замена (Find and Replace) можно использовать также команду меню Правка, Найти (Edit, Find).
Замечание
Из всех видов поиска самым медленным будет поиск по совпадению с любой частью поля, при этом не используется индекс, даже если поле, по которому выполняется поиск, проиндексировано.
Чтобы выполнить поиск по всем столбцам таблицы, нужно из списка Поиск в (Look In) выбрать значение <Имя таблицы>: таблица.
Чтобы выполнить не только поиск, но и изменение данных в найденном поле, необходимо в том же диалоговом окне Поиск и замена (Find and Replace) раскрыть вкладку Замена (Replace) и в поле Заменить на (Replace With) указать значение, на которое нужно заменить искомое значение. После этого нажмите кнопку Заменить (Replace) или Заменить все (Replace All).
Все остальные поля имеют тот же смысл, что и на вкладке Поиск (Find). Для замены одного значения необходимо нажать кнопку Заменить (Replace). Чтобы заменить все вхождения, нажмите кнопку Заменить все (Replace All).
Есть возможность установить параметры поиска/замены по умолчанию. Для этого необходимо:

  1. В меню Сервис (Tools) выбрать команду Параметры (Options).
  2. В окне Параметры (Options) открыть вкладку Правка и поиск (Edit/Find) (рис.2.56).
  1. В группе Поиск и замена по умолчанию (Default find/replace behavior) выбрать нужный тип поиска: поле — целиком (Fast search), везде — любая часть (General search), поле — с начала (Start of field search).
  2. Нажать кнопку ОК.