Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB-для курсового проектирования4.doc
Скачиваний:
16
Добавлен:
23.08.2019
Размер:
2.36 Mб
Скачать

3.2.2. Поиск, замена и фильтрация данных

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

Рис. 24

Отбор записей с помощью фильтра

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

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

Обычный фильтр (Записи/Фильтр/Изменить фильтр или кнопка ) позволяет произвести отбор записей путем ввода значений в пустую таблицу или форму. Запуск фильтра осуществляется кнопкой (рис.25).

Рис. 25

Для отмены фильтрации данных нажмите повторно кнопку .

Расширенный фильтр предоставляет окно для задания условий отбора, отображаемый записей таблицы или формы (рис.26).

Рис. 26

В бланке запроса можно выбрать тип сортировки, в строке Условия отбора записывается выражение, результатом которого является конкретной значение. Допускается использование операторов сравнения и логических операторов: =, <, >,<>, <=, =<, Between, In, Like, And, Or, Not. Сформировать условие отбора можно с помощью Построителя выражений, вызываемого по правой кнопке мыши в разделе Поле (рис.28).

Рис. 28

Рис. 27

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

3.2.3. Запросы

В реляционных системах все данные представляются в виде таблиц. Эти таблицы делятся на базисные (т.е. исходные данные) и производные, вычисляемые на основе базисных. Базисные отношения – это исходные данные. А производные – это либо ответ, либо промежуточные результаты. Суть работы СУБД заключается в том, что она, преобразуя имеющиеся отношения, строит по ним новые отношения. В результате вычисляется итоговое отношение, которое будем называть ответом на запрос. При этом сам запрос записывается выражением на соответствующем формальном языке, который называется языком запросов. Это выражение и называется формулой запроса. Запрос позволяет создать общий набор записей из данных, находящихся даже в разных таблицах, и использовать этот набор как источник данных для формы или отчета. В MS Access пользователь имеет возможность создавать и выполнять запросы следующих типов.

  • Запросы на выборку (запрос с критерием поиска, запрос с параметром, запрос с вычисляемым полем, запрос с итогами, запрос к связанным таблицам).

  • Запросы на изменение.

  • Перекрестные запросы.

  • Специфические запросы SQL.

Начать создание запроса можно, щелкнув на строке Создание запроса в режиме конструктора при выборе в качестве объекта Запросы. Добавьте необходимую таблицу, которая отобразится в области схемы данных. При составлении формулы запроса используется бланк описания запроса, имеющий 4 основные строки. Количество столбцов бланка определяется количеством полей, которые в нем будут использоваться (эти поля необходимо перенести в бланк запроса).

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

Строка бланка запроса, называемая Сортировка. Она определяет способ сортировки по соответствующему полю (по возрастанию, по убыванию или без сортировки).

Строка бланка запроса Управление выводом на экран определяет выводить или не выводить значение соответствующего поля на экран.

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

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

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

Рис. 29

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

Sum – сумма значений некоторого поля из группы;

Avg – среднее от всех значений поля в группе;

Max, Min – максимальное, минимальное значение поля в группе;

Count – число значений поля в группе без учета пустых значений.

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

Для того чтобы в бланке запроса появилась строка «Групповая операция», необходимо выполнить команду Вид/Групповые операции. Например, следующий запрос (рис.30) выдаст суммарное количество летательных аппаратов, зафиксированных в контрактах, стоимость которых > 100000 руб., по каждому виду летательных аппаратов. Несмотря на то, что поле с условием (стоимость) не выводится на экран, это условие участвует в формировании результатов запроса.

Рис. 30

Многотабличный запрос позволяет сформировать записи результата путем объединения взаимосвязанных записей из таблиц базы данных и включения нужных полей из них. Для создания подобного запроса с помощью конструктора добавьте в область запроса связанные таблицы и в строке «Вывод на экран» отметьте поля, необходимые для просмотра. В примере показано, как сформировать запрос с параметром. Параметром запроса будет тот столбец, в котором размещен текст в квадратных скобках (рис.31). Этот текст появится в диалоговом окне при выполнении запроса (вводить необходимо конкретное значение поля, в котором располагается запрос) (рис.32).

Рис. 31

З

Рис. 32. Пример запроса

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

Для формирования запроса на обновление необходимо сначала создать запрос на выборку, открыть его, а затем преобразовать этот запрос, из меню, по правой кнопке. В бланке запроса появится новая строка «Обновление» (рис. 33).

Рис. 33

Например, чтобы увеличить стоимость ЛА конкретного типа на определенный коэффициент, нужно в бланке запроса на обновление определить следующее (рис. 34):

Рис. 34

Создав запрос на добавление, можно производить добавление записей из таблицы с результатами запроса в таблицу базы данных.

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

Рис. 35

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

Рис. 36

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