Как сделать поиск по фамилии в access

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

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

В первом уроке мы написали SQL-запрос для получения данных о совершенолетних пользователях. Посмотрим на него еще раз:

После выполнение данного SQL запроса мы получим таблицу отсортированную по столбцу last_name (фамилия). Так как last_name хранит строки, то сортировка происходит в алфавитном порядке:

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

Теперь таблица отсортирована сразу по двум поля, сперва по фамилии, а уже затем по имени:

Разумеется, сортировать можно не только по текстовым полям. Например, можно написать ORDER BY birthday:

И получить данные упорядоченные по дате рождения в хронологическом порядке:

А если в конструкции ORDER BY после имени столца написать DESC, то данные будут отсортированы в обратном порядке — свежие даты выше:

Более того при сортировке данных по нескольким столцам, мы можем для разных столцов указывать разные направления сортировки. Например ORDER BY last_name, birthday DESC:

Тогда данные будут сперва отсортированы в алфавитном порядке по фамилии, а уже внутри каждой фамилии по дате рождения в обратном порядке:

Следующий урок

Урок 5. Ограничение выборки

В этом уроке вы научитесь ограничивать итоговые результаты с помощью конструкции LIMIT.

Тарифы

Базовый

Самостоятельное обучение по в любой момент

55 видео- уроков

Более 7 часов видео

Дополнительные материалы

Схемы, методички, исходные коды

Возможность скачать видео

Смотреть уроки можно даже без интернета

Доступ к курсу навсегда

Можете освежить знания через год или два

271 практическое задание

Практические занятия на тренажере

Поддержка преподавателя

Помощь в решении заданий в течение 24 часов

Сертификат о прохождении курса

Подтверждение ваших навыков

Эталонные решения

Доступ к видео-урокам + тестовый Премиум доступ к 7 урокам, 26 заданиям и поддержке преподавателя

Премиум

Теория, практика и поддержка —
залог успешного обучения

55 видео- уроков

Более 7 часов видео

Дополнительные материалы

Схемы, методички, исходные коды

Возможность скачать видео

Смотреть уроки можно даже без интернета

Доступ к курсу навсегда

Условия бесплатного тарифа могут измениться

271 практическое задание

Практические занятия на тренажере

Поддержка преподавателя

Помощь в решении заданий в течение 24 часов

Сертификат о прохождении курса

Подтверждение ваших навыков

Эталонные решения

Бесплатный тестовый Премиум доступ к 7 урокам, 26 заданиям и поддержке преподавателя


Приложение СУБД MS Access – это полноценный помощник для создания и ведения баз данных, заключенных в таблицы и массивы. Если база имеет слишком большой объем, быстро найти необходимые значения довольно сложно.

Именно поэтому в Access существует такая функция, как запросы. Рассмотрим, что это такое, как работает, какие имеет особенности.

Создание запросов в Microsoft Access

Чтобы разобраться, как создавать запросы в Access, нужно знать основные положения работы с СУБД.

Существует два способа выполнить данную процедуру:

  • Конструктор запросов.
  • Мастер запросов.

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

Легкий путь для новичков

Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.

Как создавать запросы в Access

В данном режиме можно ознакомиться и разобраться со следующими типами запросов:

  • Простой.
  • Перекрестный.
  • Записи без подчиненных.
  • Повторяющиеся записи.

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

Простой запрос

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

Как создавать запросы в Access 2007

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

Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью "Мастера" в данном режиме, нужно кликнуть по этой функции в первом окне.

Как создать запрос в Access 2010

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

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

Как создать запрос на выборку в Access

На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.

Повторяющиеся записи

Как понятно из названия, основное предназначение данного запроса – выборка всех одинаковых строк в таблице по указанным параметрам. Выглядит это так:

Как создать запрос с параметром в Access

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

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

Записи без подчиненных

Это последний тип запросов, доступный в режиме "Мастер – Записи без подчиненных".

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

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

Как создать перекрестный запрос в Access

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

Функции запросов в MS Access

Разберемся, зачем нужно выполнять описанные выше действия. Задача всех простых и сложных запросов в СУБД Access заключается в следующем:

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

Запрос на выборку

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

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

Как создать запрос в базе данных Access

Повторим, как создать запрос на выборку в Access. Сначала нужно создать простой запрос с выбором нужных полей. Уже здесь можно редактировать данные, чтобы привести их в желаемый вид. К слову, внесенные изменения перенесутся и в исходные таблицы, так что этот момент нужно учитывать.

Как создать запрос на выборку в Access

Чтобы завершить операцию, нужно нажать на кнопку "Выполнить".

Запрос с параметрами

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

Таким образом, на вопрос о том, как создать запрос с параметром в Access, ответ простой - внести исходные параметры для выборки. Чтобы работать с Конструктором необходимо пользоваться Мастером запросов. Там создается первичные данные для фильтрации, которые служат основой дальнейшей работы.

Расширенный перекрестный запрос

Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме "Конструктора" можно создавать подобный запрос.

Как создать перекрестный запрос в Access

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

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

Краткие рекомендации

Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.

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

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

Access: делаем запросы

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

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

Отбор данных с условием

Указав условие для отбора данных, мы получаем нужную выборку

Существует несколько типов запросов: на выборку, на добавление, на уда­ление, на обновление, запрос на создание таблиц, перекрестный запрос.

Простой запрос

Служит для создания простых запросов на основе вы­бранных полей.

Перекрестный за­прос

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

Повторяющиеся за­писи

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

Записи без подчинен­ных

Такой запрос выбирает из таблицы записи, не связанные с записями из другой таблицы.

При создании макета запроса в общем случае необходимо выполнить следующие базовые операции:

1) указать системе, какие поля и из каких таблиц мы хотим включить в запрос;

2) указать тип запроса (по умолчанию установлен запрос на выборку);

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

4) описать групповые операции над записями исходных таблиц;

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

При разработке конкретного запроса допускается любое сочетание пере­численных операций.

Создать запрос Адреса для вывода фамилий, имен и адресов студентов .

1) перейдем на вкладку Запросы и щелкнем на кнопке С оздать с помощью мастера, чтобы перей­ти к созданию запроса;

2) на экране появится диалоговое окно Новый запрос, предназначенное для выбора способа построения запроса;

3) выберем значение Простои запрос и нажмем кнопку ОК;

4) в первом диалоговом окне в списке Таблицы/Запросы выберем таблицу, по­ля которой будут анализироваться при выполнении запроса (Сведения о студентах);

5) в списке Доступные поля отметим поле Фамилия и перенесем его в список Выбранные поля:

6) те же действия выполним для полей Имя и Адрес. Нажмем кнопку Д алее;

7) в последнем окне присвоим запросу имя Адреса. После этого нажмем кноп­ку Готово.

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

введем в поле номера >4 – отбор записей, номер которых больше 4;

для даты рождения >12.07.76, - вывод всех, кто родился позже указанной даты;

для фамилий И * – отбор начинающихся на указанную букву.

Примеры использования символов задания шаблонов

обозначает один любой символ

обозначает любое количество любых символов

обозначает любую цифру

Кроме операций сравнения можно использовать арифметические (+ - * / ^), логические ( Or , And , Not ), например, введем в поле фамилия >=В * and ,- отбор записей, чья фамилия начинается на букву от В до Д

Примеры условных выражений

Вывод записей, которые

Имеют значение Пермь

Не имеют значение Пермь

Начинаются на букву от А-Л

Начинаются на букву от П-Я

Имеют значение 50

Имеют значение даты позднее 01.01.2004

Имеют значение месяца февраль

Начинаются с буквы Р

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

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

1) Для выполнения задания воспользуемся конструктором запросов. Активируем в левом меню БД объект запросы и вызовем режим создания запроса с помощью конструктора.


Рис. 14. Диалоговое окно создания запроса.


Рис. 15. Окно конструктора запроса.

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


Рис. 16. Режим конструктора запроса

В верхней половине отображается выбранная таблица.

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

2) Щелчком мыши в строке поле активируем список и последовательно выберем все поля таблицы Таблица расширяется вправо автоматически, когда пользователь добавляет в запрос новые поля.

Задание 11.

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

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

3) Сохранить запрос с именем Фамилия.

4) Выполнить запрос.

Самостоятельная работа № 3

1. Создайте запрос Телефоны, позволяющий выводить фамилии, имена, теле­фоны студентов.

2. Измените запрос так, чтобы можно было получить данные одного конкретного студента

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

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

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

1) открыть запрос в режиме конструктора;

2) установить указатель в позицию, в которую требуется ввести выраже­ние, и нажать правую клавишу мыши;

3) в контекстном меню выбрать команду П остроить. Другой вариант -нажать кнопку П остроить на панели инструментов.

Построитель выражений состоит из трех разделов.


Рис 17. Построитель выражений

В верхней части окна построителя расположено поле выражения. Ниже находится раздел, предназначенный для создания элементов выражения и их последующей вставки в поле выражения. Допускается непосредственный ввод части выражения в поле выражения.

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

Кроме традиционных знаков математических действий существует еще не­сколько операторов:

Обратная косая черта обозначает деление целых частей де­лимого и делителя. Результат округляется до целых.

Возведение в степень.

Операция получения остатка от деления целых частей аргу­ментов.

Используется для создания масок при определении строк с неизвестными символами и требует дополнительных спе­циальных символов и правил синтаксиса. Например,

? - знак вопроса означает любой одиночный символ

* - звездочка означает любую последовательность сим­волов

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

Чтобы вывести полный список операторов, выберите папку Операторы в нижнем левом поле и нужный тип в среднем поле. В правом поле будут выве­дены все операторы выбранного типа.

В нижней части окна построителя находятся три поля.

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

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

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

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

Для решения поставленной задачи можно воспользоваться готовым за­просом Рейтинг студентов.

Выполним следующие действия:

1) в окне базы данных перейдем на вкладку Запросы и щелкнем на кноп­ке С оздать, чтобы перейти к созданию запроса;

2) на экране появится диалоговое окно Новый запрос, предназначенное для выбора способа построения запроса;

3) выберем значение Конструктор и нажмем кнопку ОК;

4) добавим таблицу Сведения о студентах, необходимую для создания запроса и запрос Рейтинг студентов;

5) в первую колонку строки Поле бланка запроса поместим поле Фами­лия таблицы Сведения о студентах;

6) в строке Сортировка установим значение по возрастанию;

7) во вторую колонку поместим поле Avg_оценка , в котором хранятся средние значения;

8) в строке Условие отбора запустим Построитель выражений;

9) в левой части построителя выберем объект Запрос, а из раскрывшегося списка - запрос Рейтинг студентов;

10) в средней части построителя выражений выберем поле, необходи­мое для построение выражения - Avg_оценка и вставим его в поле вы­ражений;

11) зададим значение

12) продолжим строить выражение и зададим условие, отбирающее только студенток группы. Для этого внесем в поле выражений логический оператор And ;

13) аналогично, выберем таблицу Сведения о студентах и поле Пол;

14) укажем условие отбора - ~ "ж";

15) нажмем кнопку ОК после чего окно построителя закроется и мы вернемся в бланк запроса;

16) снимем флажок в строке Вывод на экран столбца Avg_оценка ;

17) сохраним запрос.

Группировка в запросах

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

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

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

В нашем случае отношение между таблицами уже задано, между полями таблиц проведена линия.

1) в окне базы данных перейдем на вкладку Запросы и щелкнем на кноп­ке С оздать, чтобы перейти к созданию запроса;

2) на экране появится диалоговое окно Новый запрос, предназначенное для выбора способа построения запроса;

3) выберем значение Конструктор и нажмем кнопку ОК;

4) в результате на экране появится два окна: окно конструктора запросов Запрос: Запрос на выборку и окно выбора таблиц Добавление табли­цы . Окно Добавление таблицы состоит из трех вкладок, содержащих перечни объектов, предлагаемых программой для проектирования за­проса: Таблицы, Запросы, Таблицы и запросы. В бланке запроса ука­жем параметры запроса и данные, которые нужно отобрать, а также способ их отображения на экране;

5) перейдем на вкладку Таблицы, маркируем таблицу Сведения о студентах и щелкнем на кнопке Д обавить. Затем маркируем таблицу Ус­певаемость группы и снова выполним щелчок на кнопке Д обавить. Закроем диалоговое окно (кнопка З акрыть). В окне проектирования запроса появятся имена выбранных таблиц;

6) установим тип запроса Выборка, нажав кнопку Тип запроса на панели инструментов;

7) выполним двойной щелчок на поле Фамилия таблицы Сведения о студентах. В результате имя этого поля будет помещено в строку Поле бланка запроса. Добавить нужные поля в бланк запроса можно также перетаскиванием их имен из списка, находящегося в верхней части ок­на конструктора, в строку бланка Поле,

8) аналогично во вторую колонку строки Поле вставим имя поля Имя из таблицы Сведения о студентах;

9) для упорядочения отобранных записей по алфавиту воспользуемся возможностями сортировки самого запроса. Для этого в строке Сор­тировка столбца Фамилия откроем список значений и зададим сорти­ровку данных по возрастанию;

10) аналогичные операции выполним для поля Имя таблицы Сведения о студентах;

11) вставим в бланк запроса поле Оценка из таблицы Годовая Успе­ваемость группы;

12) в бланке запроса добавим строку Групповые операции;

13) в полях Фамилия и Имя строки Групповые операции установим значение Группировка:

14) в поле Оценка установим значение Avg . Нам необходимо, чтобы после запятой стояло только одно число (например, 3.4 или 4.5). Для этого пало указать формат вывода результатов в запросе. Выполним следующие операции: в строке Групповая операция поля Оценка щелкнем правой клавишей мыши и из раскрывшегося меню выберем команду Свойства. В строке Формат поля окна Свойства поля вве­дем значение Фиксированный, а в поле Число десятичных знаков -ч исловой. Можно также указать подпись поля - Средний балл.

15) сохраним запрос с именем Рейтинг студентов.

Самостоятельная работа № 4

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

2. Создать запрос Наименьшая оценка, позволяющий выводить мини­мальную оценку каждого студента группы.

Сложные запросы

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

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

Для создания запроса на обновление выполните следующее:

1) предварительно составьте запрос на выборку;

2) затем выполните составленный запрос и оцените результат, переклю­чившись в режим таблицы с помощью команды Режим таблицы из меню Вид;

3) после этого вернитесь в режим конструктора и активизируйте команду Обновление из меню Запрос;

4) Access 97 добавит в бланк запроса строку Обновление, которая пред­назначена для указания новых значений полей таблицы. В качестве та­ковых могут выступать и вычисляемые выражения;

5) в специальном диалоговом окне Access укажет, сколько записей будет изменено в таблице, и потребует подтвердить выполнение этой опера­ции.

Используя запрос Оценки студента и возможности запроса на обновление, измените все оценки какого-либо студента на 5.

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

1) предварительно подготовьте запрос на выборку;

2) выполните составленный запрос для проверки его правильности;

3) вернитесь в режим конструктора и в меню Запрос выберите команда Созда­ние таблицы, в которое необходимо ввести имя новой таблицы;

4) выполните запрос, нажав кнопку с восклицательным знаком на панели инст­рументов;

5) в специальном окне Access укажет, сколько записей добавляется с новую таблицу, и потребует подтвердить выполнение этой операции.

С помощью запроса Дата рождения и запроса на создание таблицы соз­дайте таблицу Выборка дней рождения студентов.

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

1) для отбора добавляемых записей сначала составьте запрос на выборку;

2) выполните составленный запрос и оцените результат, переключились в режим таблицы с помощью команды Режим таблицы из меню Вид;

3) после этого вернитесь в режим конструктора и активизируйте команду Добавление из меню Запрос;

4) в открывшемся при этом диалоговом окне Добавление задайте в поле Имя таблицы имя таблицы, к которой вы будете присоединять данные из вы­бранного набора записей;

5) после нажатия кнопки OK Access добавляет в бланк запроса строку Добав­ление. В эту строку автоматически или в ручную вставляются имена тех по­лей целевой таблицы, которые совпадают с именами полей запроса;

6) выполните запрос, нажав кнопку Запуск на панели инструментов;

7) в специальном диалоговом окне Access укажет, сколько записей будет до­бавлено к целевой таблице, и потребует подтвердить выполнение этой опера­ции.

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

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

Для создания запроса на удаление выполните следующее:

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

2) затем выполните составленный запрос и оцените результат, переклю­чившись в режим таблицы с помощью команды Режим таблицы из меню Вид;

3) после этого вернитесь в режим конструктора и активизируйте команду Удаление из меню Запрос;

4) Access добавит в бланк запроса строку Удаление и введет в ее ячейки значение Условие. Это означает, что пользователь может установить дополнительные критерии отбора;

5) выполните запрос, нажав кнопку Запуск на панели инструментов;

6) в специальном диалоговом окне Access укажет, сколько записей будет удалено из таблицы, и потребует подтвердить выполнение этой опера­ции.

Удалите из таблицы Выборка дней рождения учеников данные об учени­ках, родившихся с I по 12 число.

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

При создании базы данных стремятся свести все данные, необходимые для дальнейшего использования в таблицы, таким образом, чтобы избежать избыточности данных и достичь логики их объединения в таблицах. В рассматриваемых примерах были созданы таблицы, которые не содержат избыточных данных. Вместе с тем, следует отметить, что конечному пользователю не требуется видеть всю информацию, которая находится в таблицах. Наоборот, пользователь заинтересован получать сведения из базы данных, не вникая, в каких таблицах они находятся. Для этой цели в Access 2010 включён самостоятельный объект – Запросы. Запросы создаются с помощью Мастера запросов, Конструктора запросов и языка запросов SQL ( Structured Query Language – структурный язык запросов). Каждое из перечисленных средств имеет определённую специфику, о которой будет изложено ниже. К основным типам запросов относятся:

§ Запрос на выборку ( Select query ). Эти запросы позволяют извлекать информацию из таблиц, проводить вычисления с показателями, создавать перекрёстные ссылки. В запросах на выборку, изменять данные в таблицах нельзя.

§ Запрос на изменение ( Action query ). Запросы такого типа дают возможность корректировать информацию, которая содержится в таблицах. Запросы на изменение делятся на четыре категории.

· Запрос на создание таблицы ( Make - table ) – позволяет создать новую таблицу на основе данных, содержащихся в одной или нескольких таблицах.

· Запрос на удаление ( Delete ) – удаляет все записи из одной или нескольких таблиц на основе критериев, задаваемых пользователем.

· Запрос на присоединение ( Append ) – добавляет целые записи или только указанные поля в таблице.

· Запрос на обновление ( Update ) – изменяет данные в существующих таблицах на основании информации в окне Конструктора.

§ SQL -запрос. Эти запросы создаются с помощью языка запросов в виде отдельных инструкций (операторов), что позволяет решать сложные задачи при работе с таблицами. SQL -запросы часто создаются для изменения структуры таблицы, для внесения изменений в записи, для автоматического переименование полей, для подсоединения к внешним базам данных.


Рис. 66. Пиктограммы для выбора режима создания запросов

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


Рис. 67. Диалоговое окно для добавления необходимых таблиц на поле запросов


Рис. 68. Пример заполнения бланка запроса


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


Рис. 70. Предложение системы по сохранению запроса


Рис. 71. Результаты выполненного запроса на выборку

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


2. Выбрать строку , и раскрыть её.

3. Выбрать строку с наименованием , нажать на кнопку .


Рис. 72. Пример использования текстового фильтра в таблице запроса


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

Вопросы для самоконтроля

1. Как отображаются результаты запроса?

2. Какие основные типы запросов создают в базе данных Access 2010?

3. Чем отличаются запросы на выборку от запросов на изменение?

4. Какие средства предложены в Access 2010 для создания запросов?

5. В каком порядке следует работать с Конструктором запросов?

6. Какие дополнительные возможности получает пользователь при просмотре запроса на выборку?


Рис. 73. Пример создания параметрического запроса

1. Поместим таблицы на поле запроса.

2. На бланк запроса перенесём поля из таблиц (Фамилия, Телефон, Фото, Наим_отдела , Должность).


Система выдаст диалоговое окно с вопросом (Рис. 74), в которое введите, например – Менеджер, и нажмите на кнопку .


Рис. 74. Предложение системы для ввода параметра


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


Рис. 75. Результат выполнения отбора данных по заданным параметрам


Рис. 76. Логическое выражение Or (Или) для заданных параметров отбора данных

Вопросы для самоконтроля

2. Как задать параметр в виде текстового фрагмента?

3. Можно ли задавать несколько параметров в одном запросе для различных полей?

4. Как объединить несколько параметров для одного столбца в бланке запроса?


Рис. 77. Заполнение бланка запроса для осуществления поиска по неполному значению поля

1. Создайте новый запрос в режиме Конструктора. Перенесите на поле конструктора таблицы, как показано на рисунке 78.


Рис. 78. Подготовка запроса для работы с множественным значением данных


Рис. 79. Список для выбора функций при работе с групповыми данными


Рис. 80. Результаты работы запроса с обработкой множественных данных


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


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

o Раздел в верхней части окна содержит поле, в котором создаётся выражение.

o Раздел в нижней части окна предназначен для создания элементов выражений и вставки их в поле выражения. Допускается непосредственный ввод выражения с клавиатуры. Этот раздел разделён на три вертикальных поля. В левом поле (Элементы выражений) выводятся папки, содержащие объекты базы данных - , встроенные и определённые пользователем функции - , константы - , операторы - и выражения - . Среднее поле (Категории выражений) служит для выбора элемента или типа элементов из папки, заданной в левом поле. В правом поле (Значения выражений) выводится список значений для элементов, заданных в левом и среднем полях. Например, на рисунке 81 в построителе выражений показано, как отображается информация в полях Построителя выражений.


Рис. 81. Общий вид построителя выражений


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

5. В бланке запроса отобразится, создаваемое выражение (Рис. 82), сохраните запрос, например под именем «Фактический стаж работы.


Рис. 82. Бланк запроса для вычисления фактического стажа работы сотрудника


Рис. 83. Результаты вычислений фактически отработанных лет сотрудниками

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


Рис. 84. Базовая таблица для формирования ведомости на выдачу заработной платы сотрудникам

2. Перенесите в бланк запроса необходимые поля для проведения расчётов заработной платы (Рис. 85).


Рис. 85. Бланк запроса с перечнем полей


Рис. 86. Выражение (формула) для вычисления причитающейся суммы заработной платы сотруднику за месяц

Всего:[ Sum -Коэффициент]*[Оклад по должности]+[Оклад по должности]+[Надбавка]


Рис. 87. Создание поля в запросе и установление его свойств


Рис. 88. Таблица с данными по заработной плате сотрудников

Вопросы для самоконтроля

1. Какая последовательность запуска Построителя выражений при составлении запросов?

3. Как связывается бланк запроса с Построителем выражений?

4. Из каких элементов состоит «Выражение?

5. Что обозначают открытая и закрытая квадратные скобки в выражении?

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

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