Опубликован: 30.10.2006 | Уровень: для всех | Доступ: свободно
Лекция 7:

Поиск и отбор информации

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Аннотация: Изучив эту лекцию, вы сможете: сортировать информацию по одному или нескольким полям; фильтровать данные различными способами.

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

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

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

В этой лекции вы узнаете, как найти и отобразить нужную информацию с помощью сортировки, фильтрации и запросов. В процессе выполнения упражнений вам понадобятся файлы базы данных GardenCo, которые хранятся в папках Sort, FilterDS, FilterForm, AdvFilter, QueryDs, QueryWiz и Aggregate, вложенных в папку Office XP SBS\Access\Chap12.

Сортировка данных

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

Фамилия Имя
Кембелл Девид
Кембелл Мишель
Кенеди Кевин
Керни Нил
Ким Шейн

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

GardenCo

В этом упражнении вы воспользуетесь различными способами сортировки данных в таблице и форме. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap12\Sort. Выполните следующие шаги.

  1. Откройте базу данных GardenCo, расположенную в рабочей папке.
  2. Откройте таблицу Клиенты в режиме таблицы.
  3. Чтобы отсортировать таблицу по полю Штат, щелкните в любом месте столбца Штат, а затем щелкните на кнопке Сортировка по возрастанию (Sort Ascending). Записи будут упорядочены по регионам.
    Совет. Можно также воспользоваться командами Сортировка по возрастанию (Sort Ascending) и Сортировка по убыванию (Sort Descending) в меню Записи (Records) или щелкнуть правой кнопкой мыши на столбце, а затем щелкнуть на нужной команде в контекстном меню.
  4. Чтобы изменить порядок сортировки на обратный (при условии, что курсор все еще находится в столбце Штат ), щелкните на кнопке Сортировка по убыванию (Sort Descending). Записи для штата Орегон находятся теперь в начале списка. В обоих случаях сортировка осуществлялась по алфавиту, но данные в поле Город располагаются беспорядочно. Очевидно, что список выиграет, если упорядочить города внутри регионов.

    Принципы сортировки в Access

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

    Исходный список Отсортированный как текст Отсортированный как числа
    1 1 1
    1234 11 2
    23 12 3
    3 1234 4
    11 2 5
    22 22 11
    12 23 12
    4 3 22
    2 4 23
    5 5 1234

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

    Совет. При сортировке записей по нескольким полям сортировка осуществляется последовательно, слева направо. Поэтому поля сортировки должны быть смежными и располагаться в нужной последовательности.
  5. Чтобы разместить столбец Штат слева от поля Город, щелкните на заголовке столбца и перетащите его влево, пока между полями Адрес и Город не появится темная линия.
  6. Так как столбец Штат уже выделен, нажмите на клавишу (Shift) и щелкните в заголовке столбца Город, чтобы распространить выделение на оба столбца.
  7. Щелкните на кнопке Сортировка по возрастанию (Sort Ascending), чтобы упорядочить записи по регионам и городам в порядке возрастания (города будут отсортированы внутри регионов).
    Совет. Просматривая записи в режиме формы, их можно отсортировать, но только по одному полю. Для этого щелкните в нужном поле, а затем щелкните на одной из кнопок Сортировка (Sort).
  8. Хотя порядок столбцов в таблице Клиенты не имеет особого значения, все же верните столбец Штат на прежнее место.
  9. Сохраните и закройте таблицу Клиенты.
  10. Закройте базу данных.
< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Ксения Кострова
Ксения Кострова
Татьяна Романова
Татьяна Романова

Подскажите, пожалуйста, можно ли как-то в базе, состоящей из достаточно большого количества таблиц, определить те ячейки, которым присвоено значение "null". При обновлении базы постоянно всплывает ошибка, что 7ми полям присвоено данное значение. А как найти и "обезвредить" не могу разобраться. Заранее спасибо

 

Валерия Карпенко
Валерия Карпенко
Россия, Тверская область