Как создать и выполнить запрос на добавление
Перейти к содержимому

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

  • автор:

3) Создание запросов на обновление, на добавление, на удаление, на создание таблицы

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

Необходимо помнить приведенные ниже правила.

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

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

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

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

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

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

Поля с типом данных «Счетчик». Значения в полях с типом данных «Счетчик» изменяются только при добавлении записи в таблицу.

Поля в запросах на объединение.

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

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

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

Добавление записей в таблицу с помощью запроса на добавление.

Запрос на добавление выбирает записи из одного или нескольких источников данных и копирует их в существующую таблицу.

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

Преимущества использования запроса на добавление

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

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

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

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

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

Основные этапы создания запроса на добавление

Создание запроса на добавление включает основные действия, указанные ниже.

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

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

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

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

Использование запросов для удаления данных.

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

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

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

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

Если требуется удалить записи (строки) целиком, следует использовать запрос на удаление.

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

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

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

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

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

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

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

Если требуется удалить данные из нескольких таблиц, и эти таблицы связаны, включите параметры Целостность данных и Каскадное удаление связанных записей для каждой из связей. Это позволит запросу удалять данные из таблиц со стороны отношения «один» и «многие».

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

Если нужно удалить отдельные поля из таблицы, преобразуйте запрос на выборку в запрос на обновление, введите значение NULL или пустую строку

( «» ) в качестве условия обновления и выполните запрос.

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

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

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

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

Создание запроса на создание таблицы.

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

Примечание. Запрос на создание таблицы в веб-базе данных невозможно выполнить через веб-браузер. Чтобы это сделать, необходимо открыть веб-базу данных в Access 2010.

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

Создание запроса на создание таблицы.

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

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

Процедура создания запроса на создание таблицы включает указанные ниже основные этапы.

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

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

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

1) Андердал, Б. Самоучитель WINDOWS 98 — Спб: Питер 1998

2) Глушаков, С.В., Ломотько Д.В. Базы данных : Учебный курс — Харьков : Фолио, 2000г

3) Еремин Л.В. Косарев В.П. Машникова О.В. Экономическая информатика: Учебник

4) Windows 7 Авторы: А. Жвалевский 1-е издание, 2010 год.

6. Запросы MS Access

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

Все запросы делятся на запросы-выборки и запросы-действия.

После выполнения запроса-выборки СУБД создает виртуальную таблицу, в которую заносит выбранную информацию и хранит ее до тех пор, пока сгенерированная таблица не будет закрыта. Когда этот запрос закрывается, полученная таблица уничтожается, освобождая занимаемую память.

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

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

Фактически, запрос в MS Access является инструкцией на языке SQL (Structured Query Language), который является на сегодняшний день основным средством составления запросов в наиболее распространенных реляционных СУБД. Посредством механизма SQL становится возможным как обращаться к содержимому баз MS Access из других приложений (в том числе и приложений от других производителей), так и получать данные для MS Access из внешних приложений, поддерживающих SQL.

Запросы в MS Access доступны в трех режимах: табличном, в котором запрос выглядит так же, как обычная таблица, режиме конструктора, где запрос предстает в виде схемы связанных объектов, и в виде инструкций SQL.

6.2. Краткие сведения об SQL

Структурированный язык запросов (Structured Query Language) — это язык запросов, ориентированный специально на реляционные базы данных. SQL был разработан в 70-е годы фирмой IBM и стандартизован ANSI (American National Standards Institute). Поэтому его часто также называют ANSI-SQL. Одно из достоинств SQL — его широкое распространение. При этом следует помнить, что на различных СУБД диалект SQL может отличаться от стандарта ( ANSI SQL89 и ANSI SQL92). Диалект SQL, используемый в MS Access, называется Jet SQL.

Небольшой набор команд SQL и определенный синтаксис составления выражений позволяет совершать сколь угодно сложные операции. Самой распространенной из них является выборка связанных данных из одной или нескольких таблиц при помощи оператора SELECT, однако в случае необходимости SQL может вносить информацию, корректировать хранящиеся записи и создавать новые объекты базы данных. SQL применяется не только в MS Access, но и во всех современных СУБД.

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

  1. SELECT — предназначается для выборки из базы данных набора записей, соответствующих указанному критерию. В качестве входных параметров инструкции передаются названия полей таблиц, которые должны быть внесены в результирующий набор.
  2. UPDATE — служит для редактирования записей (одной или нескольких). Пользователь указывает названия полей таблиц и их новые значения.
  3. DELETE — инструкция, полностью удаляющая из базы данных все указанные записи (а не только значения отдельных полей).
  4. CREATE — позволяет создавать новые объекты базы данных.

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

В языке запросов, реализованном в Microsoft Access, поддерживаются четыре дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос). В качестве функции могут быть использованы итоговые функции SQL, например такие, как AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR или VARP. Кроме того, в качестве функции могут применяться встроенные функции MS Access и встроенного языка VBA.

6.3. Создание запросов

Для того чтобы создать запрос-выборку, нужно перейти на вкладку «Запросы» в окне базы данных и нажать кнопку «Создать», в результате откроется диалоговое окно, представленное на рисунке 6.3.1.

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

При создании запроса с помощью Конструктора разработчику необходимо выбрать таблицы или запросы, содержащие нужные данные и заполнить бланк запроса. Бланк запроса расположен в нижней части окна конструктора и содержит описание запроса в табличной форме (см. рисунок 6.3.2). Этот вариант следует выбирать для создания запроса «с нуля» в режиме конструктора.

Режим конструктора для запроса

Каждая колонка в бланке запроса соответствует одному полю. Строки «Поле» и «Имя таблицы» содержат списки, которые позволяют определить нужное поле. Таблица бланка запросов расширяется вправо автоматически при добавлении в запрос новых полей. Контекстное меню, связанное с бланком запроса, позволяет скрывать или, наоборот, показывает строки «Имя таблицы» и «Групповая операция». Под «Групповой операцией» понимается обработка и обобщение значений данного поля при помощи определенной функции (Например функция «Count» позволяет подсчитать число записей).

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

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

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

Если нужно найти среди всех записей базы данных те, которые не имеют подчиненных, следует выбирать вариант, «Записи без подчиненных». Например, это достаточно типовая ситуация для любой базы данных, фиксирующей торговые операции по конкретным клиентам или по конкретным товарам. Незачем хранить информацию по конкретной поставке товара, если сам товар уже давно продан. Также незачем хранить в списке «постоянных клиентов» фамилии тех людей, которые уже длительное время не осуществляли никаких покупок. Очевидно, что чем меньше записей приходится просматривать, тем быстрее работает вся СУБД.

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

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

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

Для определения вычисляемого поля можно использовать встроенные функции MS Access или выражения, создаваемые пользователем. Для каждого вычисляемого поля следует выбрать одно выражение. Выражения, определяющие вычисляемые поля, создаются с помощью мастера простых запросов или вводятся пользователем в строку «Групповая операция» бланка запроса, в которой допускается выбор статистических функций для выполняемых над полем вычислений. В бланке запроса задают также условия отбора, с помощью которых определяются группы, для которых вычисляются итоговые значения, записи, включаемые в вычисления, или результаты, отображаемые после выполнения расчетов.

Для расчетов с использованием формул, определяемых пользователем, требуется создать новое вычисляемое поле прямо в бланке запроса. Вычисляемое поле создается с помощью выражения, которое вводится в пустую ячейку «Поле» в бланке запроса. Результаты вычислений не обязательно должны отображаться в поле. Вместо этого, их можно использовать в условиях отбора для определения записей, которые выбираются в запросе, или для определения записей, над которыми производятся какие-либо действия.

6.4. Условия отбора записей

Условия отбора записей могут задаваться для одного или нескольких полей в строке «Условие отбора»бланка запроса (см. рисунок 6.3.2). Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы и константы.

Литералом называют значение в явном представлении, например, число, строковое значение или дату. Примерами значений в явном представлении могут служить «Москва», 100 и #1-янв-94#. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки («).

Константа представляет не изменяющееся значение. True, False, Истина, Ложь и Null являются примерами констант, автоматически определяемых в MS Access. Допускается также использование подстановочных знаков, представленных в следующей таблице.

Знак

Пример

Использование

Оператор BETWEEN. AND определяет принадлежность значения выражения указанному диапазону

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

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

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

Оператор NOT требует невыполнения того выражения, перед которым он стоит.

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

Пример выражения

Описание

Еще одним встроенным элементом поиска нужной информации в Access являются функции. Функция возвращает значение, которое является результатом расчетов или выполнения других операций. В Microsoft Access определен ряд встроенных функций, например:

функция Sum возвращает сумму набора значений поля; функция Avg вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса; функция Count вычисляет количество записей, возвращаемых запросом.

6.5. Запросы-действия

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

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

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

Запрос на добавление— добавляет группу записей из одной или нескольких таблиц в одну или несколько других.

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

При работе с запросом в режиме конструктора можно преобразовать существующий запрос к одному из этих четырех типов. Для это следует выбрать тип запроса из меню » Запрос» (см. Рисунок 6.5.1).

Меню

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

Пользователь может открыть в режиме конструктора различные запросы: запрос на выборку, перекрестный запрос и запрос на изменение. Запрос на выборку и перекрестный запрос также можно открыть в режиме таблицы для просмотра результатов. Запрос на изменение нельзя открыть в режиме таблицы. Однако в этом режиме можно выполнить предварительный просмотр данных, которые будут задействованы в запросе на изменение. Такой запрос отличается тем, что в окне базы данных рядом с его именем стоит восклицательный знак (!).

6.6. Запросы SQL

Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Примерами запросов SQL могут служить запросы на объединение, запросы к серверу, перекрестные и подчиненные запросы.

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

Запрос к серверу — отправляет команды непосредственно в базы данных ODBC, например Microsoft SQL Server, причем используются только команды, поддерживаемые данным сервером.

Запрос управление создает или вносит изменения в объекты базы данных, такие как таблицы Microsoft Access или Microsoft SQL Server.

4. Работа с системой управления базами данных Microsoft Access

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

Записи — Однотипные сведения о различных объектах БД.

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

Конструктор — Мастер для создания различных форм БД.

Отчет — Одна из форм БД, позволяющая представить её в удобном для просмотра результатов выборки форме.

Поля таблицы данных — Поля имею уникальные имена, длину и тип и определяют формат информации об объектах БД.

Реляционная БД — БД логически связанная с другими БД с помощью полей с одинаковыми именами.

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

СУБД — Система управления БД. Комплекс программных средств, например, ACCESS для работы с БД — их создание, модификацию, заполнения, создание различных форм и т.д.

Типы данных — Типы, определяющие вид данных в БД — числовые, текстовые, даты, логические и т.п.

Фильтр — Способ выделения из БД тех данных, которые отвечают заданному запросу.

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

4.1. Создание однотабличной базы данных

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

Access — реляционная база данных (возможна одновременная работа с несколькими связанными таблицами базы данных), в которой предусмотрено много сервисных функций. Мастера облегчают создание таблицы, формы или отчета из имеющихся заготовок. Выражения используются в Access, например, для проверки допустимости введенного значения. Макросы позволяют автоматизировать многие процессы без программирования, тогда как встроенный в Access язык VBA (Visual Basic for Applications — диалект языка Basic для использования в приложениях Microsoft Office) дает возможность опытному пользователю программировать сложные процедуры обработки данных. Для взаимодействия Access с другими приложениями — источниками данных используют такие возможности языка программирования С, как функции и обращения к Windows API (Application Programming Interface — интерфейс прикладных программ Windows).

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

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

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

  • текстовый (по умолчанию) — текст или числа, не требующие расчетов (до 255 знаков);
  • числовой — числовые данные различных форматов, используемые для проведения расчетов четов;
  • дата/время — хранение информации о дате и времени (с 100 по 9999 год включительно);
  • денежный — денежные значения и числовые данные, используемые в расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части;
  • поле МЕМО — хранение комментариев (до 65 535 символов);
  • счетчик — специальное числовое поле, в котором автоматически присваивается уникальный порядковый номер каждой записи (значения поля обновлять нельзя);
  • логический — может иметь только одно из двух возможных значений (True/False);
  • поле объекта OLE — объект, связанный или внедренный в таблицу Access;
  • гиперссылка — строка, состоящая из букв и цифр и представляющая собой адрес гиперссылки.

В Access существует четыре способа создания пустой таблицы:

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

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

Ввод данных в ячейки таблицы. Особенности ввода следующие: при нажатии клавиши Del ячейка очищается; если ввод данных в ячейку прервать, нажав клавишу Esc, то восстановится старое значение, а если нажать клавиши Enter или Tab, то в ячейку заносится новое значение. Для редактирования текущего значения необходимо дважды щелкнуть мышью или нажать клавишу F2. Для некоторых типов данных (числовой, денежный, дата/время, логический) Access автоматически проверяет правильность ввода.

Для всех типов полей (кроме типов Счетчик и поля объекта OLE) можно самостоятельно задавать ограничения для вводимых данных (режим конструктора, вкладка Общие, поле Условия на ограничение).

Можно использовать еще один инструмент при вводе данных — параметр Значение по умолчанию (вкладка Общие), который удобно использовать, когда большинство значений данного поля одинаковы и лишь некоторые отличаются. Данные можно вводить и копированием их из одной ячейки в другую стандартными средствами Windows.

Редактирование данных. Для редактирования курсор переводится в нужную ячейку, старые данные удаляются и вводятся новые данные. Если таблица большая, то для поиска можно использовать команду Правка —› Найти. Для замены большого количества одинаковых данных используется команда Правка —› Заменить.

Сортировка данных. Для удобства просмотра можно сортировать записи в таблице в определенной последовательности. Кнопки сортировки на панели инструментов (или команды меню Записи —› Сортировка —› Сортировка по возрастанию (Сортировка по убыванию)) позволяют сортировать предварительно выделенные столбцы по возрастанию или по убыванию. По умолчанию сортировка записей начинается с крайнего выделенного столбца. Для восстановления порядка отображения записей используется команда Записи —› Удалить фильтр.

Отбор данных с помощью фильтра. Фильтр — это набор условий, применяемых для отбора подмножества записей. В Access существуют фильтры четырех типов: фильтр по выделенному фрагменту, обычный фильтр, расширенный фильтр и фильтр по вводу (команда Записи —› Фильтр).

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

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

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

Конструктор позволяет создать форму самостоятельно, но для начинающих пользователей это довольно сложно. Мастер форм дает возможность автоматически создать форму на основе выбранных полей. Этот режим наиболее удобен при создании форм как для начинающих, так и для опытных пользователей. Access в режиме диалога выясняет у пользователя, какую форму он хочет получить, и создает ее автоматически. При необходимости форму можно исправить в режиме конструктора. Автоформы являются частными случаями мастера форм, т. е. они создают заданные виды форм автоматически, практически без участия пользователя. Это может быть удобно, когда базовая таблица одна, содержит не много полей и нужно быстро создать простую форму. Диаграмма создает форму со встроенной диаграммой, а сводная таблица — со сводной таблицей Excel.

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

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

4.2. Формирование запросов и отчетов для однотабличной базы данных

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

Запросы можно создавать самостоятельно и с помощью мастеров. Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Самостоятельно разработать запросы можно в режиме конструктора.

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

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

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

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

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

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

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

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

При работе с Мастером Access предлагает различные варианты макетов отчета. Для создания отчета надо открыть вкладку Отчеты и щелкнуть по кнопке Создать. Откроется окно Новый отчет, в котором приведены шесть способов создания отчета: Конструктор, Мастер отчетов, Автоотчет в столбец, Автоотчет ленточный, Мастер диаграмм и Почтовые наклейки. Конструктор позволяет самостоятельно создать отчет, но это непросто даже для опытного пользователя. Мастер отчетов автоматически создает отчет на основе выбранных полей таблиц (запросов) и макетов отчетов. Этот способ создания отчетов является наиболее удобным как для начинающих, так и для опытных пользователей.

Автоотчет в столбец и Автоотчет ленточный — простейшие способы создания отчетов: достаточно указать только имя таблицы (запроса), на основе которого будет создан отчет, а остальное сделает Мастер отчетов.

Мастер диаграмм создает отчет в виде диаграммы, а Почтовые наклейки создадут отчет, отформатированный для печати почтовых наклеек.

4.3. Организация данных

Слово «реляционная» происходит от английского relation — отношение. Отношение — математическое понятие, но в терминологии моделей отношения удобно изображать в виде таблицы, в которой строки соответствуют кортежам отношения, а столбцы — атрибутам. Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа. Такая функция может быть значением одного из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ).

В Access 97 выделяют три типа ключевых полей: простой ключ, составной ключ и внешний ключ.

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

В Access 97 можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.

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

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

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

Тип создаваемой связи зависит от полей, для которых определяется связь:

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

4.4. Формирование сложных запросов

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

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

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

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

4.5. Создание сложных форм и отчетов с помощью кнопочного меню

Кнопочное меню представляет собой форму, на которой расположены элементы управления — кнопки с поясняющими надписями. Щелчок по кнопке открывает соответствующую таблицу, запрос, форму или отчет.

Меню — удобный инструмент с базами данных, и он практически всегда присутствует в базах, созданных для предприятий и фирм.

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

4.6. Практические задания

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

Таблица 1
Таблица данных. Преподаватели

Технология работы:

1. Для создания новой базы данных:

  • загрузите Access, выберите пункт Новая база данных;
  • в окне Файл новой базы данных в пункте Имя файла задайте имя базы Преподававтели (тип файла — Базы данных Access) и выберите папку (пункт Папка), где ваша база данных будет находиться;
  • щелкните по кнопке Создать.

2. Для создания таблицы базы данных:

  • выберите вкладку Таблицы и щелкните по кнопке Создать;
  • в окне Новая таблица выберите пункт Конструктор и щелкните по кнопке ОК. В результате откроется окно таблицы в режиме конструктора.

3. Определите поля таблицы в соответствии с табл. 1.
4. Сохраните созданную таблицу с именем Преподававтели.

Задание 2. Заполнение базы данных

1. Введите ограничения на данные, вводимые в поле Должность (должны вводиться только слова Профессор, Доцент или Ассистент).
2. Задайте текст сообщения об ошибке, который будет появляться на экране при вводе неправильных данных в поле Должность.
3. Задайте значение по умолчанию для поля Должность в виде слова Доцент.
4. Введите ограничения на данные в поле Код (эти данные не должны повторяться).
5. Заполните таблицу данными в соответствии с табл. 2 и проверьте реакцию системы на ввод неправильных данных в поле Должность.
6. Измените ширину каждого поля таблицы в соответствии с шириной данных.
7. Произведите поиск в таблице преподавателя Миронова.
8. Произведите замену данных: измените заработную плату ассистенту Сергеевой с 650 р. до 720 р.
9. Произведите сортировку данных в поле Год рождения по убыванию.
10. Произведите фильтрацию данных по полям Должность и Дисциплина.
11. Просмотрите созданную таблицу (как она будет выглядеть на листе бумаги при печати).

Таблица 2

Технология работы:

1. Войдите в режим Конструктор для проектируемой таблицы, щелкните по полю Должность, а затем по строке параметра Условие на значение. Щелкните по кнопке … и при помощи построителя выражений введите ограничения на данные, используя кнопку логического сложения Or.
2. В строку Сообщение об ошибке введите предложение «Такой должности нет, правильно введите данные».
3. В строку Значение по умолчанию введите слово «Доцент».
4. Замените в поле Код тип данных Счетчик на Числовой (тип данных Счетчик не обеспечивает возможности изменения кодов). Щелкните по строке параметра Индексированное поле, выберите в списке пункт Да (совпадения не допускаются), перейдите в Режим таблицы и сохраните таблицу.
5. Введите данные в таблицу в соответствии с табл. 2. Попробуйте в поле Должность ввести слово Лаборант. На экране должно появиться сообщение: «Такой должности нет, правильно введите данные». Введите правильное слово.
6. Для изменения ширины каждого поля таблицы выполните команду Формат —› Ширина столбца и в появившемся окне щелкните по кнопке По ширине данных.
7. Для поиска в таблице преподавателя Миронова:

  • переведите курсор в первую строку Фамилия;
  • выполните команду Правка —› Найти;
  • в появившейся строке параметра Образец введите Миронов;
  • в строке параметра Просмотр должно быть слово ВСЕ (искать по всем записям);
  • в строке параметра Совпадение выберите из списка С любой
    частью поля;
  • в строке параметра Только в текущем поле установите флажок;
  • щелкните по кнопке Найти. Курсор перейдет на вторую запись и выделит слово Миронов;
  • щелкните по кнопке Найти далее. Курсор перейдет на седьмую запись и также выделит слово Миронов;
  • щелкните по кнопке Закрыть для выхода из режима поиска.

8. Для изменения заработной платы ассистенту Сергеевой с 650 р. на 720 р.:

  • переведите курсор в первую строку поля Зарплата;
  • выполните команду Правка —› Заменить;
  • в появившемся окне в строку Образец введите 650;
  • в строку Заменить на введите 720;
  • щелкните по кнопке Закрыть.

9. Для сортировки данных в поле Год рождения по убыванию выполните команду Записи —› Сортировка —› Сортировка по убыванию.
10. Для фильтрации данных по полям Должность и Дисциплина:

  • щелкните по записи Доцент поля Должность и выполните команду Записи —› Фильтр —› Фильтр по выделенному. В таблице останутся только записи о преподавателях-доцентах;
  • щелкните по записи Информатика поля Дисциплина и выполните команду Записи —› Фильтр —› Фильтр по выделенному. В таблице останутся только записи о преподавателях-доцентах кафедры информатики;
  • для отмены фильтрации выполните команду Записи —› Удалить фильтр. В таблице появятся все данные.

11. Для просмотра созданной таблицы выполните команду Файл —› Предварительный просмотр. Закройте окно просмотра.

Задание 3. Ввод и просмотр данных посредством формы

1. С помощью Мастера форм создайте форму Состав преподавателей (тип — форма в один столбец).
2. Найдите запись о доценте Гришине, находясь в режиме формы.
3. Измените зарплату ассистенту Сергеевой с 720 р. на 750 р.
4. Произведите сортировку данных в поле Фамилия по убыванию.
5. Произведите фильтрацию данных по полю Должность.
6. Измените название поля Дисциплина на Преподаваемая дисциплина.
7. Просмотрите форму. Как она будет выглядеть на листе бумаги?

Технология работы:

1. Для создания формы Состав преподавателей:

  • откройте вкладку Формы в окне базы данных, щелкните по кнопке Создать и в появившемся окне выберите пункт Мастер форм;
  • щелкните по значку списка в нижней части окна, выберите таблицу Преподаватели и щелкните по кнопке ОК;
  • в появившемся окне выберите поля, которые будут присутствовать в форме (в данном примере присутствовать будут все поля), а затем щелкните по кнопке Далее;
  • в появившемся окне выберите вид Форма в один столбец и щелкните по кнопке Далее;
  • в появившемся окне выберите стиль оформления и щелкните по кнопке Далее;
  • в появившемся окне задайте имя формы Состав преподавателей и щелкните по кнопке Готово.

2. Для поиска преподавателя Миронова:

  • переведите курсор в первую строку поля Фамилия, выполните команду Правка —› Найти и в появившемся окне в строке Образец введите фамилию Миронов;
  • в строке параметра Просмотр должно быть слово ВСЕ (искать по всем записям);
  • в строке параметра Совпадение выберите из списка параметр С любой частью поля;
  • в строке параметра Только в текущем поле установите флажок;
  • щелкните по кнопке Найти. Курсор перейдет на вторую запись и выделит слово Миронов;
  • щелкните по кнопке Найти далее. Курсор перейдет на седьмую запись и также выделит слово Миронов;
  • щелкните по кнопке Закрыть для выхода из режима поиска.

3. Для изменения зарплаты ассистенту Сергеевой с 720 р. на 750 р.:

  • переведите курсор в первую строку поля Зарплата, выполните команду Правка —› Заменить и в появившемся окне в строке параметра Образец введите 720;
  • в строку параметра Заменить на введите 750, щелкните сначала по кнопке Найти далее, а затем по кнопке Заменить;
  • щелкните по кнопке Закрыть.

4. Для сортировки данных в поле Год рождения щелкните по любой записи поля Год рождения, выполните команду Записи —› Сортировка —› Сортировка по убыванию.
5. Для фильтрации данных по полю Должность:

  • щелкните по записи Доцент поля Должность и выполните команду Записи —› Фильтр —› Фильтр по выделенному. В форме останутся только записи о преподавателях-доцентах;
  • щелкните по записи Информатика поля Дисциплина и выполните команду Записи —› Фильтр —› Фильтр по выделенному. В форме останутся только записи о преподавателях-доцентах кафедры информатики;
  • для отмены фильтра выполните команду Записи —› Удалить фильтр. В таблице появятся все данные.

6. Для изменения поля Дисциплина на Преподаваемая дисциплина:

  • перейдите в режим конструктора (команда Вид —› Конструктор), щелкните правой кнопкой в поле Дисциплина. В появившемся меню выберите пункт Свойства. На экране откроется окно свойств для названия поля Дисциплина;
  • щелкните по строке с именем Подпись (где находится слово Дисциплина), удалите слово «Дисциплина» и введите «Преподаваемая дисциплина»;
  • для просмотра результата перейдите в режим формы (команда Вид —› Режим формы).

7. Для просмотра созданной формы выполните команду Файл —› Предварительный просмотр. Закройте окно просмотра.

Задание 4. Формирование запросов на выборку

1. На основе таблицы Преподаватели создайте простой запрос на выборку, в котором должны отображаться фамилии, имена, отчества преподавателей и их должность.
2. Данные запроса отсортируйте по должностям и сохраните запрос.
3. Создайте запрос на выборку с параметром, в котором должны отображаться фамилии, имена, отчества преподавателей и преподаваемые ими дисциплины. В качестве параметра задайте фамилию преподавателя и выполните этот запрос для преподавателя Гришина.

Технология работы:

1. Для создания простого запроса:

  • в окне базы данных откройте вкладку Запросы, в открывшемся окне щелкните по кнопке Создать, из появившихся пунктов окна Новый запрос выберите Простой запрос и щелкните по кнопке ОК;
  • в появившемся окне в строке Таблицы/Запросы выберите таблицу Преподаватели;
  • переведите поля Фамилия, Имя, Отчество, Должность из окна Доступные поля в окно Выбранные поля и щелкните по кнопке Далее;
  • в строке параметра Задайте имя запроса введите новое имя Должности преподавателей и щелкните по кнопке Готово. На экране появится таблица с результатами запроса.

2. Для сортировки данных щелкните в любой строке поля Должность, отсортируйте данные по убыванию (команда Записи —› Сортировка —› Сортировка по убыванию), сохраните запрос и закройте окно запроса.
3. Для создания запроса на выборку с параметром:

  • создайте запрос на выборку аналогично п. 1 для следующих полей таблицы Преподаватели: Фамилия, Имя, Отчество, Преподаваемая дисциплина; задайте имя запросу Преподаваемые дисциплины и щелкните по кнопке Готово. На экране появится таблица с результатами запроса;
  • перейдите в режим конструктора (команда Вид —› Конструктор), в строке параметра Условия отбора для поля Фамилия введите фразу (скобки тоже вводить) [Введите фамилию преподавателя];
  • выполните запрос (команда Запрос —› Запуск), в появившемся окне введите фамилию Гришин и щелкните по кнопке ОК. На экране появится таблица с данными о преподавателе Гришине — его имя, отчество и преподаваемая дисциплина;
  • сохраните запрос и закройте окно запроса.

Задание 5. Создание отчета с группированием данных
На основе таблицы Преподаватели создайте отчет с группированием данных по должностям.

Технология работы:

1. Откройте вкладку Отчеты, щелкните по кнопке Создать и в открывшемся окне выберите пункт Мастер отчетов.
2. Щелкните по значку раскрывающегося списка в нижней части окна, выберите из появившегося списка таблицу Преподаватели и щелкните по кнопке ОК.
3. В появившемся окне выберите поля, которые будут присутствовать в форме (в данном случае присутствовать будут все поля из таблицы), а затем щелкните по кнопке Далее.
4. Переведите выделение на поле Должность, щелкните сначала по кнопке >>, а затем по кнопке Далее.
5. Параметры появившегося окна оставьте без изменений (щелкните по кнопке Далее), выберите стиль оформления отчета и щелкните по кнопке Далее.
6. В появившемся окне введите название отчета Преподаватели и щелкните по кнопке Готово. Просмотрите, а затем закройте появившийся на экране сформированный отчет.

Задание 6. Создание инфологической и логической моделей базы данных

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

Технология работы:

1. Для разработки инфологической (информационно-логической) модели базы данных выделим три объекта: Студенты, Дисциплины и Преподаватели. Представим состав реквизитов этих объектов в виде — «название объекта (перечень реквизитов)»: Студенты (код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки), Дисциплины (код дисциплины, название дисциплины), Преподаватели (код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата). Типы связей между этими объектами представлены на рис. 1 (M:N — Многие-ко-многим, 1:M — Один-ко-многим).

Рис. 1. Типы связей между объектами Студенты, Дисциплины и Преподаватели

Множественные связи усложняют управление базой данных, поэтому желательно строить реляционную модель, не содержащую связей типа Многие-ко-многим. Введем вспомогательный объект связи Оценки, реквизитами которого являются код студента, код дисциплины и оценки. Тогда получаем инфологическую модель базы данных, приведенную на рис. 2.

Рис. 2. Инфологическая модель реляционной базы данных

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

Рис. 3. Логическая модель базы данных

Задание 7. Создание реляционной базы данных

1. Создайте базу данных Деканат.
2. Создайте структуру таблицы Студенты.
3. Создайте структуру таблицы Дисциплины.
4. Создайте структуру таблицы Преподаватели.
5. Создайте структуру таблицы Оценки.
6. Разработайте схему данных, т. е. создайте связи между таблицами.

1. Для создания базы данных Деканат выполните следующие действия:

  • загрузите Access, выберите пункт Новая база данных и щелкните по кнопке ОК;
  • в окне Файл новой базы данных задайте имя Деканат, выберите папку, где база будет находиться, и щелкните по кнопке Создать.

2. Для создания структуры таблицы Студенты:

  • в окне базы данных выберите вкладку Таблицы и щелкните по кнопке Создать;
  • в окне Новая таблица выберите пункт Конструктор, щелкните по кнопке ОК и определите поля таблицы в соответствии с табл. 3;
Таблица 3
  • в качестве ключевого поля задайте Код студента (команда Правка —› Ключевое поле), закройте таблицу, присвоив ей имя Студенты.
    3. Аналогично п. 2 создайте структуру таблицы Дисциплины в соответствии с данными табл. 4.
Таблица 4

В качестве ключевого поля задайте Код дисциплины.
4. Структура таблицы Преподаватели уже создана в задании 2.1 и заполнена данными, поэтому используйте эту таблицу с одним изменением — в соответствии с рис. 3 в структуру таблицы надо добавить поле Код дисциплины и заполнить его в соответствии с данными табл. 4.
5. Аналогично п. 2 создайте структуру таблицы Оценки в соответствии с данными табл. 5.

Таблица 5

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

выполните команду Сервис —› Схема данных, затем команду Связи —› Добавить таблицу и щелкните по кнопке Добавить;

  • аналогично добавьте оставшиеся три таблицы, последовательно переводя выделение на следующую таблицу, и закройте окно, щелкнув по кнопке Закрыть;
  • создайте связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю Код дисциплины в таблице Дисциплины, щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле Код дисциплины в таблицу Оценки, а затем отпустите кнопку мыши. На экране откроется окно Связи, в котором установите флажки в свойствах Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное обновление связанных записей. Щелкните по кнопке Создать;
  • аналогично создайте связи между полем Код дисциплины в таблице Дисциплины и полем Код дисциплины в таблице Преподаватели, а также между полем Код студента в таблице Студенты и полем Код студента в таблице Оценки;
  • закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

Задание 8. Создание форм для ввода данных в таблицы

1. Создайте форму Студенты и заполните данными таблицу Студенты посредством формы Студенты.
2. Создайте форму Дисциплины и заполните данными таблицу Дисциплины посредством формы Дисциплины.
3. Создайте форму Оценки и заполните данными таблицу Оценки посредством формы Оценки.

Технология работы:

1. Для создания формы Студенты откройте вкладку Формы, щелкните по кнопке Создать, выберите таблицу Студенты, затем пункт Автоформа: ленточная и щелкните по кнопке ОК.
2. Заполните данными, приведенными в табл. 6, таблицу Студенты посредством формы.

Таблица 6

Закройте форму, присвоив ей имя Студенты.
3. Аналогично п. 1 создайте форму Дисциплины и заполните данными, приведенными в табл. 7, таблицу Дисциплины посредством формы. Закройте форму, присвоив ей имя Дисциплины.

Таблица 7

4. Аналогично п. 1 создайте форму Оценки и заполните данными, приведенными в табл. 8, таблицу Оценки посредством формы. Закройте форму, присвоив ей имя Оценки.

Таблица 8

Задание 9. Формирование сложных запросов

1. Разработайте запрос с параметрами о студентах заданной группы, в котором при вводе в окно параметров номера группы на экран должен выводиться состав этой группы.
2. Создайте запрос, в котором выводятся оценки студентов заданной группы по заданной дисциплине.
3. Создайте перекрестный запрос, в результате которого создастся выборка, отражающая средний балл по дисциплинам в группах.
4. Разработайте запрос на увеличение (на 10 %) заработной платы тех преподавателей, кто получает менее 600 руб.
5. Создайте запрос на удаление отчисленных студентов.
6. Разработайте запрос на создание базы данных отличников.
7. Для всех созданных вами запросов разработайте формы.

Технология работы:

1. Для создания запроса с параметрами о студентах заданной группы:

  • откройте вкладку Запросы и щелкните по кнопке Создать;
  • в появившемся окне выберите Простой запрос и щелкните по кнопке ОК;
  • в появившемся окне в строке Таблицы/Запросы выберите из списка таблицу Студенты;
  • перенесите все поля из окна Доступные поля в окно Выбранные поля и щелкните по кнопке Далее;
  • выводить надо все поля, поэтому еще раз щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Группа и щелкните по кнопке Готово. На экране появится таблица с данными запроса. Для установления номера группы перейдите в режим конструктора;
  • в строке Условия отбора для поля Номер группы введите фразу (скобки тоже вводить) [Введите номер группы];
  • выполните запрос (команда Запрос —› Запуск), в появившемся окне введите 2В и щелкните по кнопке ОК. На экране появится таблица с данными о студентах группы 2В;
  • сохраните запрос и закройте таблицу запроса.

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

  • на вкладке Запросы щелкните по кнопке Создать, выберите Простой запрос и щелкните по кнопке ОК;
  • выберите таблицу Студенты и перенесите поля Фамилия, Имя, Отчество, Номер группы в окно Выделенные поля;
  • в таблице Дисциплины выберите поле Название дисциплины;
  • в таблице Оценки выберите поле Оценки. Вы сформировали шесть полей запроса, которые связаны между собой посредством схемы данных;
  • щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Оценки группы, затем щелкните по ячейке Изменение структуры запроса и щелкните по кнопке Готово;
  • в строке Условия отбора для поля Номер группы введите фразу [Введите номер группы], а для поля Название дисциплины — [Введите название дисциплины];
  • выполните запрос;
  • в первом появившемся окне введите 2В, затем щелкните по кнопке ОК, во втором — введите Информатика и щелкните по кнопке ОК. На экране появится таблица со списком группы 2В и оценками по информатике;
  • сохраните запрос и закройте таблицу запроса.

3. Для создания перекрестного запроса о среднем балле в группах по дисциплинам сначала сформируйте запрос, в котором были бы поля Номер группы, Название дисциплины и Оценки. Для этого:

  • на вкладке Запросы щелкните по кнопке Создать, выберите Простой запрос и щелкните по кнопке ОК;
  • выберите из таблицы Студенты поле Номер группы, из таблицы Дисциплины — поле Название дисциплины, из таблицы Оценки — поле Оценки;
  • щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Дисциплины оценки группы и щелкните по кнопке Готово;
  • сохраните запрос и закройте таблицу запроса.

Теперь можно создавать перекрестный запрос. Для этого:

  • на вкладке Запросы щелкните по кнопке Создать, выберите Перекрестный запрос и щелкните по кнопке ОК;
  • щелкните по ячейке Запросы, выберите Дисциплины оценки группы и щелкните по кнопке Далее;
  • выберите поле Название дисциплины и щелкните по кнопке Далее;
  • выберите поле Номер группы и щелкните по кнопке Далее;
  • выберите функцию AVG и щелкните по кнопке Далее;
  • выберите название запроса Средние оценки и щелкните по кнопке Готово;
  • закройте таблицу запроса.

4. Для создания запроса на изменение заработной платы преподавателей:

  • на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
  • в таблице Преподаватели выберите поле Зарплата;
  • щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Изменение зарплаты;
  • щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
  • в строке Условия отбора введите 600;
  • откройте пункт меню Запрос и выберите Обновление;
  • в строке конструктора запроса Обновление в поле Зарплата введите: [Зарплата]*1,1;
  • выполните запрос, подтвердив готовность на обновление данных;
  • закройте запрос, подтвердив его сохранение;
  • откройте форму Преподаватели, просмотрите изменение заработной платы у преподавателей, получающих меньше 600 р., и закройте форму.

5. Для запроса на отчисление студента гр. 2Г Перлова Кирилла Николаевича:

  • на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
  • в таблице Студенты выберите поля Фамилия, Имя, Отчество, Номер группы;
  • щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Отчисленные студенты;
  • щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
  • в строке Условия отбора введите: в поле Фамилия — Перлов, в поле Имя — Кирилл, в поле Отчество — Николаевич, в поле Номер группы — 2Г;
  • откройте пункт меню Запрос и выберите Удаление;
  • просмотрите удаляемую запись (команда Вид —› Режим таблицы);
  • если отчисляемый студент выбран правильно, то перейдите в режим конструктора и выполните запрос;
  • закройте запрос, откройте форму Студенты (удостоверьтесь в удалении записи о студенте Перлове) и закройте форму.

6. Для создания запроса на создание базы данных отличников:

  • на вкладке Запросы щелкните по кнопке Создать и выберите Простой запрос;
  • в таблице Студенты выберите поля Фамилия, Имя, Отчество, Номер группы, а в таблице Оценки — поле Оценки;
  • щелкните по кнопке Далее, а затем в появившемся окне снова щелкните по кнопке Далее;
  • в появившемся окне введите имя запроса Отличники;
  • щелкните по ячейке Изменение структуры запроса, затем по кнопке Готово;
  • выполните команду Вид —› Групповые операции, в строке Групповые операции поля Оценки щелкните по ячейке Групповые операции. Откройте раскрывающийся список и выберите функцию SUM;
  • в строке Условия отбора поля Оценки введите 20 (отличниками будем считать тех студентов, которые за четыре экзамена набрали 20 баллов);
  • просмотрите создаваемую базу (команда Вид —› Режим таблицы), перейдите в режим конструктора и выполните команду Запрос —› Создание таблицы;
  • введите имя таблицы Студенты-отличники и щелкните по кнопке ОК;
  • подтвердите создание таблицы и закройте (с сохранением) запрос;
  • откройте вкладку Таблицы, затем таблицу Студенты-отличники. Удостоверьтесь в правильности создания таблицы. Закройте таблицу.

7. Для каждого из созданных запросов создайте форму для удобного просмотра данных (аналогично заданию 2.8).

Задание 10. Создание сложных форм

1. Разработайте сложную форму, в которой с названиями дисциплин была бы связана подчиненная форма Студенты и подчиненная форма Оценки студентов.
2. Измените расположение элементов в форме, оставив место для диаграммы.
3. Вставьте в форму диаграмму, графически отражающую оценки студентов.
4. Отредактируйте вид осей диаграммы.

Технология работы:

1. Для создания сложной формы:

  • на вкладке Формы щелкните по кнопке Создать, выберите Мастер форм и, не выбирая таблицу или запрос, щелкните по кнопке ОК;
  • в таблице Дисциплины выберите поле Название дисциплины;
  • в таблице Студенты выберите поля Код студента, Фамилия, Имя, Отчество, Номер группы;
  • в таблице Оценки выберите поле Оценки и щелкните по кнопке Далее;
  • в появившемся окне оставьте предлагаемый вариант формы и щелкните по кнопке Далее;
  • оставьте табличный вариант подчиненной формы и щелкните по кнопке Далее;
  • выберите стиль оформления формы и щелкните по кнопке Далее;
  • введите название формы Дисциплины и оценки, щелкните по кнопке Готово и просмотрите полученную форму.

2. Для изменения расположения полей на экране перейдите в режим конструктора, стандартными средствами Windows (технология drag-and-drop) измените размеры подчиненной формы так, чтобы были видны все данные. Для этого надо переключаться из режима конструктора в режим формы, смотреть полученный результат и, если он не подходит, снова корректировать в режиме конструктора. Ширину столбцов в подчиненной форме можно изменять только в режиме формы.

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

  • переключиться в режим конструктора, выполнить команду Вид —› Панель элементов, на этой панели щелкнуть по кнопке ;
  • создать прямоугольник для заголовка диаграммы, ввести надпись Диаграмма оценок и выполнить команду Вставка —› Диаграмма;
  • на свободном месте формы создать прямоугольник для диаграммы, выбрать таблицу Оценки и щелкнуть по кнопке Далее;
  • выбрать поля Код студента, Оценки и щелкнуть по кнопке Далее;
  • выбрать вид диаграммы Гистограмма (по умолчанию он стоит) и щелкнуть по кнопке Далее;
  • дважды щелкнуть по надписи Сумма_Оценки, выбрать Отсутствует, щелкнуть сначала по кнопке ОК, а затем по кнопке Далее;
  • вновь щелкнуть по кнопке Далее, так как в строках Поля формы и Поля диаграммы по умолчанию находится Код дисциплины;
  • стереть название диаграммы Оценки (надпись для диаграммы уже задана) и щелкнуть по кнопке Далее.

4. Отредактируйте вид осей диаграммы. Для этого:

  • дважды щелкните сначала по диаграмме, а затем по значениям вертикальной оси и выберите вкладку Шкала;
  • уберите «галочку» у надписи Минимальное значение, а в ячейке справа от этого названия введите 1;
  • уберите «галочку» у надписи Максимальное значение, а в ячейке справа от этого названия введите 5;
  • уберите «галочку» у надписи Цена основных делений, а в ячейке справа от этого названия введите 1 и щелкните по кнопке ОК;
  • расширьте область диаграммы, перетащив правую границу окна диаграммы несколько правее;
  • закройте окно Microsoft Graph, выбрав в меню Файл пункт Выход и возврат в дисциплины и оценки: форма;
  • перейдите в режим формы, просмотрите ее для разных дисциплин и закройте форму.

Задание 11. Создание сложных отчетов

1. Создайте запрос, на основе которого будет формироваться отчет. В запросе должны присутствовать: из таблицы Студенты — поля Фамилия, Имя, Отчество и Номер группы, из таблицы Дисциплины — поле
Название дисциплины, из таблицы Оценки — поле Оценки.
2. Создайте отчет по итогам сессии. В отчете оценки студентов должны быть сгруппированы по номерам групп и дисциплинам. Для каждого студента должна вычисляться средняя оценка за сессию, а для каждой группы — среднее значение оценок по всем предметам.

Технология работы:

1. Для создания запроса:

  • на вкладке Запросы щелкните по кнопке Создать, выберите простой запрос и щелкните по кнопке ОК;
  • из таблицы Студенты выберите поля Фамилия, Имя, Отчество и Номер группы, из таблицы Дисциплины — поле Название дисциплины, из таблицы Оценки — поле Оценки и щелкните по кнопке Далее;
  • щелкните еще раз по кнопке Далее, введите название запроса Сессия , щелкните по кнопке Готово и закройте запрос.

2. Для создания итогового отчета:

  • на вкладке Отчеты щелкните по кнопке Создать, выберите Мастер отчетов, из раскрывающегося списка — запрос Сессия и щелкните по кнопке ОК;
  • выберите все поля запроса и щелкните по кнопке Далее;
  • щелкните еще раз по кнопке Далее, так как тип представления данных нас удовлетворяет;
  • добавьте уровень группировки по номеру группы, выбрав в левом окне Номер группы и перенеся его в правое окно;
  • щелкните сначала по кнопке Далее, затем по кнопке Итоги (для вычисления среднего балла);
  • выберите функцию AVG для вычисления среднего балла и щелкните по кнопке ОК;
  • щелкните по кнопке ОК, так как сортировка не требуется;
  • выберите ступенчатый макет отчета (он занимает меньше места и в нем наглядно представлены данные) и щелкните по кнопке Далее;
  • выберите стиль отчета и щелкните по кнопке Далее;
  • введите название отчета Итоги сессии и щелкните по кнопке Готово.

Задание 2.12. Разработка кнопочной формы-меню для работы с базами данных

  • Для создания кнопочного меню выполните следующие действия:
  • выполните команду Сервис —› Надстройки —› Диспетчер кнопочных форм и щелкните по кнопке Да;
  • щелкните по кнопке Создать, введите имя Меню и щелкните по кнопке ОК;
  • в окне выберите Меню и щелкните по кнопке Изменить;
  • создайте элементы данной кнопочной формы, щелкнув по кнопке Создать;
  • в строке Текст введите поясняющую надпись к первой создаваемой кнопке — Преподаватели;
  • в строке Команда выберите из списка Открытие формы в режиме редактирования;
  • в строке Форма выберите из списка форму Преподаватели и щелкните по кнопке ОК;
  • введите в меню все созданные формы и отчет;
  • закройте окно кнопочной формы (кнопка Закрыть) и щелкните по кнопке По умолчанию;
  • закройте диспетчер кнопочных форм, щелкнув по кнопке Закрыть;
  • на вкладке Формы щелкните правой кнопкой мыши по надписи Кнопочная форма, выберите пункт Переименовать, введите новое имя Форма-меню и нажмите по кнопке Enter;
  • откройте эту форму и просмотрите возможности открытия форм и отчета из меню.

4.7. Лабораторные работы

Лабораторная работа 1. Создание однотабличной базы данных (2 часа)

Порядок выполнения:

1. Ознакомьтесь с теоретическими сведениями (п. 4.1).
2. Выполните практическое задание 1.
3. Выполните практическое задание 2.
4. Выполните практическое задание 3.
5. Оформите отчет, в котором должны быть отражены следующие технологии по созданию однотабличной базы данных:

  • создание новой базы данных, создание таблицы базы данных, определение полей таблицы, сохранение таблицы;
  • заполнение базы данных (ввод ограничения на данные; заполнение таблицы данными; изменение ширины каждого поля таблицы в соответствии с шириной данных; поиск, замена, сортировка и фильтрация данных);
  • ввод и просмотр данных посредством формы.

Лабораторная работа 2. Формирование запросов и отчетов для однотабличной базы данных (2 часа)

Порядок выполнения:

1. Ознакомьтесь с теоретическими сведениями (п. 4.2).
2. Выполните практическое задание 4.
3. Выполните практическое задание 5.
4. Оформите отчет, в котором должны быть отражены следующие технологии по формированию запросов и отчетов для однотабличной базы данных:

  • формирование запросов на выборку (создание простого запроса, сортировка данных запроса, сохранение запроса, создание запроса на выборку с параметром);
  • создание отчета с группированием данных по параметру.

Лабораторная работа 3. Разработка инфологической модели и создание структуры реляционной базы данных (2 часа)

Порядок выполнения:

1. Ознакомьтесь с теоретическими сведениями (п. 4.3).
2. Выполните практическое задание 6.
3. Выполните практическое задание 7.
4. Выполните практическое задание 8.
5. Оформите отчет, в котором должны быть отражены следующие технологии:

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

Лабораторная работа 4. Формирование сложных запросов (2 часа)

Порядок выполнения:

1. Ознакомьтесь с теоретическими сведениями (п. 4.4).
2. Выполните практическое задание 9.
3. Оформите отчет, в котором должны быть отражены основные технологии по формированию сложных запросов: разработка запроса с параметрами; создание запроса для полей одной таблицы по заданному полю другой; создание перекрестного запроса с выполнением статистических расчетов для выборки; разработка запроса на обновление записей одной или нескольких таблиц; создание запроса на удаление отдельных полей таблицы; разработка запроса на создание новой таблицы на основе всех или части данных из одной или нескольких таблиц; разработка форм для созданных запросов.

Лабораторная работа 5. Создание сложных форм и отчетов (2 часа)

Порядок выполнения:

1. Ознакомьтесь с теоретическими сведениями (п. 4.5).
2. Выполните практическое задание 10.
3. Выполните практическое задание 11.
4. Выполните практическое задание 12.
5. Оформите отчет, в котором должны быть отражены следующие технологии:

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

Создание различных запросов в Microsoft Access

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

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

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

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

Теперь перейдём непосредственно к практике. Зайдите на вкладку «Создание» и нажмите кнопку «Конструктор запросов». В открывшемся окне выберите одну или несколько таблиц, из которых необходимо выбрать данные. Нажав кнопку «Выполнить», вы получите всю информацию из выбранных вами таблиц. Для более конкретного отбора перейдите на вкладку «Конструктор» и введите нужное слово или число в поле «Условие отбора:». Например, вы хотите получить список всех сотрудников 1980 года рождения. Для этого пропишите в строке «Условие отбора:» 1980 в колонке «Дата рождения» и нажмите кнопку «Выполнить». Программа моментально выдаст вам результат. Для удобства вы можете сохранить созданный запрос, чтобы пользоваться им в дальнейшем. Воспользуйтесь комбинацией клавиш Ctrl+S и введите название в соответствующем поле, а после нажмите «ОК».

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

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

Чтобы посчитать значения в столбце, вы можете использовать так называемые групповые операции. Для этого на вкладке «Конструктор» кликните по кнопке «Итоги». В появившейся строке «Группировка» выберите функцию «Count», позволяющую сложить все ненулевые значения. Чтобы в названии колонки не выводилось слово «Count», в строке «Поле» введите название перед тем, что было указано ранее. Сохранение выполняется точно также при помощи комбинации Ctrl+S.

Запрос с групповыми операциями

Аксесс считает непустые ячейки

Теперь создадим параметрический запрос. Он позволяет делать выборку по введённому параметру. Например, по заданной дате. Открыв нужную базу данных, пропишите (без кавычек) в соответствующем столбце «[Укажите дату]». Квадратные скобки обязательны. В появившемся окне введите нужную дату. После этого программа автоматически произведёт выборку по введённой вами дате. Вы можете поставить знаки «>» (больше) и «

Как создать перекрёстное обращение? Достаточно найти на панели инструментов кнопку «Перекрёстный» и кликнуть по ней. После этого в пункте «Перекрёстная таблица» выберите в первой ячейке «Заголовки строк», во второй «Заголовки столбцов», а в третьей «Значение». Затем вы можете посчитать значения, использовав уже упомянутую выше функцию «Count». Обратите внимание, что если вы укажете во второй ячейке «Заголовки строк», так же, как в первой, вместо «Заголовки столбцов», то ничего работать не будет. Обязательно учитывайте это.

Перекрестная группировка данных

Делаем перекрестный запрос в базе

Также вы можете сделать обращение на создание таблицы. Как это делается? Достаточно открыть базы данных, с которыми вы работаете, затем заполнить ячейку «Условие отбора» и кликнуть по кнопке «Создание таблицы». Не забывайте нажимать «Выполнить». На основе заданных вами параметров Microsoft Access построит новую таблицу. Например, список всех сотрудников с их контактными данными по профессии «Бухгалтер».

Создаем таблицу после запроса

При сохранении нужно указать имя и место размещения новой таблицы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *