Запросы – это объекты, извлекающие данные из таблиц так, как это определено пользователем. С помощью запроса можно выбрать, изменить или сгруппировать какие-либо данные, содержащиеся в одной или нескольких таблицах. Ответ на запрос также выглядит в виде таблицы и называется динамическим набором записей. Когда пользователь изменяет данные динамического набора, то эти изменения тут же производятся в таблицах.
В окне «База данных» нажмем кнопку «Запросы». Для создания запроса на панели инструментов окна выберем «Создать»
Создадим «Простой запрос», который из БД будет выводить только, экзаменационную ведомость, т.е. ФИО студентов и их оценки по предметам.
Открывается мастер запросов, при помощи которого и создаем нужный нам запрос. Для чего из БД Студенты выберем столбцы: ФИО, Математика, Теор_механика, Черчение, Информатика. И нажимаем Кнопку «Далее».
Мы создаем простой запрос, поэтому выбираем подробную выдачу каждого поля, каждой записи.
Задаем имя нашему запросу и нажимаем «Готово».
Создадим запрос, вычисляющий средний балл по предметам. Для чего вызовем простой запрос.
Для вычисления среднего балла по предметам, достаточно из БД «Студенты» выбрать только поля с предметами.
Во втором окне мастера запросов, выберем пункт «Итоговый» и нажмем кнопку «Итоги…»
Обращаю ваше внимание на то, что подсчитать мы можем Сумму (Sum), Средний балл (Avg), Максиму (Max) и Минимум (Min). Но нам нужен только средний балл, его и выбираем.
В последнем окне задаем имя запроса и нажимаем «Готово». В результате получаем:
Начала создания запроса на повторяющиеся записи, такое же, как и в предыдущих случаях, но только в окне «Новый запрос» выбираем «Повторяющиеся записи».
В первом окне мастера данного запроса, выбираем таблицу или запрос, в которых будем искать повторяющиеся записи.
Во втором окне, задаем поля содержащие повторяющиеся записи.
В третьем окне выбираем поля которые необходимо вывести вместе с выбранным, во втором окне, полем.
Задаем имя запроса и нажимаем «Готово».
Выберем в окне «Новый запрос» строчку «Перекрестный запрос».
В первом окне выбираем таблицу (запрос) для нового запроса.
Выберем поля, значения которых станут заголовками строк нового запроса.
Теперь выбираем заголовки, для столбцов нового запроса.
Далее выбираем тип вычислений для соотношения наших элементов (в нашем случае интересует просто «Число»).
Задаем имя запроса
В итоге мы видим сколько и какую стипендию получают военнообязанные и все прочие студенты.
В окне «База данных» на панели инструментов выберем кнопку «Конструктор».
Открывается окно конструктора запросов, но перед началом работы надо выбрать таблицы и запросы по которым будет производиться построение нового запроса.
При помощи данного запроса получим ведомость оценок на всех мальчиков группы.
Для этого перенесем нужные поля в строку «Поле» конструктора, а выборку будем осуществлять по полю «Пол». Для этого в строке «Вывод на экран» уберем флажок, чтобы это поле не отображалось в полученном запросе.
Теперь в строке «Условие отбора» для поля «Пол» щелкнем правой кнопкой мышки и выберем пункт «Построить…».
Появляется окно «Построение выражения». В верхней части окна поле для построения выражения, под ним возможные логические и арифметические знаки, а также поля для выбора таблиц, форм, функций и т.д.
Развернем список таблиц и выберем нашу таблицу «Студенты», во втором окне появятся поля данной таблицы из которых двойным щелчком выберем поле «Пол». В знаках выберем равенство, а далее наберем: м.
Теперь сохраним наш запрос (при помощи меню Файл\Сохранить или кнопки Сохранить на панели инструментов). И закроем конструктор.
Для просмотра запроса, найдем его в окне «База данных» и вызовем двойным щелчком мыши.
Создадим запрос на обновление, при помощи которого каждому военнообязанному студенту получающему стипендию будет добавлено 20% к имеющейся стипендии. Построение осуществляется при помощи «Конструктора».
Вызовем конструктор, а затем в меню «Запрос» или при помощи Кнопки «Тип запроса» на панели инструментов выберем «Обновление»
Как можно увидеть появляется строка «Обновление». Теперь переносим поле «стипендия» и в строке обновление, при помощи контекстного меню вызываем «Построить..»
Заполняем выражение, которое увеличит нашу стипендию на 20 %.
Но стипендию надо увеличить только военнообязанным, для этого в строке «Условие отбора» вызываем «Построить…» и заполняем следующее выражение:
Сохраняем наш запрос
Теперь просмотрим таблицу до обновления.
После этого запустим запрос на обновление. Все запросы производящие изменения в наших исходных таблицах, спрашивают подтверждение на изменение.
После разрешения на изменения вам будет сообщено какое количество записей подвергнется изменению.
Создадим таблицу «Студенты4», в которой будут поля: ФИО, Математика, Теор_механика, Черчение, Информатика, Стипендия, Военнообязанный. Для этого вызовем «Конструктор», в который вызовем таблицы «Студенты» и «Студенты3», а затем в меню «Запрос» выберем «Создание таблицы…». В появившемся окне зададим имя для новой таблицы.
Теперь просто перенесем все нужные поля в строку «Поле».
Сохраним запрос. А потом запустим его из списка.
Вы опять увидите предупреждение об изменении.
И сообщение о количестве записей.
Сформировалась новая таблица. Теперь ее можно посмотреть.
Вызовем «Конструктор» с новой таблицей «Студенты4» и в меню «Запрос» выбрать «Удаление…».
В строке «Удаление» вызываем «Построить…» и в окне «Построение выражения» удалим всех «не военнообязанных».
Сохраняем запрос
Теперь запускаем запрос на удаление из окна «База данных».
Получаем стандартное сообщение об изменениях в таблице.
И сообщение о количестве удаляемых записей.
В результате получаем таблицу:
Вызываем «Конструктор» и выбираем таблицу «Студенты3»
Выбираем поля для запроса. А на против поля параметра в строке «Условие отбора…» вместо условия, записываем вопрос (в квадратных скобках) который будет появляться в параметрическом окне.
Мы можем запустить запрос кнопкой «Запуск» на панели инструментов. Или сохранить запрос, а затем запустить его из окна «База данных».
В результате открывается параметрическое окно в котором вы видите вопрос о содержимом поля. В данном случае вы должны ответить являются ли интересующие вас люди военнообязанными или нет. Введем «да».
В результате получаем таблицу, со списком всех военнообязанных и их стипендией.