Смекни!
smekni.com

Информационные технологии создания и обработки баз данных с помощью MS Access XP (стр. 6 из 8)


Рис. 31

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

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

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

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

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

Выбрав нужные поля одним из описанных выше способов, получим сформированный запрос (Рис. 32).


Рис. 32

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

Рис. 33

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

Можно впоследствии модифицировать уже созданные запросы:

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

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

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

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

Для отбора определенных записей из таблицы в запросе есть строка Условие отбора. Условием отбора является выражение, которое состоит из операторов сравнения и операндов. В качестве операндов выражения могут использоваться: литералы (конкретные значения, воспринимаемые Access так, как они записаны; в качестве литералов могут быть числа, текстовые строки, даты; текстовые строки заключаются в кавычки, даты в знаки #), константы (неизменяющиеся значения, которые определены в Access, например, True, False, Null, Да, Нет), идентификаторы (имена полей, таблиц, форм, отчетов и т.д.). Для формирования логических выражений в качестве условий отбора существует Построитель выражений. Для отбора из таблицы Преподаватели всех преподавателей, родившихся до 1960 года, запрос на выборку представлен на Рис. 34


Рис. 34

По описанному выше правилу в запрос помещаем необходимые поля и в строке Условие отбора помещаем условие – <01/01/1960. В результате выполнения этого запроса получим новый список преподавателей (Рис. 35).

Рис. 35

9.2 Разработка запросов на редактирование данных

9.2.1 Запросы на обновление данных

Для обновления данных в полях таблиц может быть использован запрос на обновление. Изменения вносятся в группу записей, отбираемых с помощью указанных пользователем условий отбора. Значения для изменений в полях определяются в бланке запроса в поле Обновление. Чтобы задать запрос на обновление, необходимо сначала создать запрос на выборку, который затем преобразуется в окне конструктора запросов в запрос на обновление при выборе команды Обновление контекстного меню, появляющегося при нажатии кнопки Тип запроса на панели инструментов конструктора запросов, или команды меню Запрос/Обновление. После выполнения этой команды в бланке запроса появляется строка Обновление. Для отбора обновляемых записей следует включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора. Процедура задания условия отбора аналогична созданию запроса на выборку. Достаточно ввести в строку Обновление значение или выражение, определяющее новое значение поля. Для создания выражения можно воспользоваться построителем выражений. После выполнения команды Запрос/Запуск открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления. Если необходимо просмотреть только содержимое обновленных полей, после выполнения запроса следует переключиться в режим таблицы. Для этого выберите команду Вид/Режим таблицы. Для просмотра старого содержимого обновляемых полей в режим таблицы необходимо переключиться до выполнения запроса. Рассмотрим этот вид запроса на примере: изменим на 10% заработную плату преподавателей, у которых она меньше 900 рублей. Для этого создадим простой запрос (Рис. 36). По описанным выше правилам из таблицы Преподаватели выберем поле Оклад.

Рис. 36


Остальные параметры создания выберем по умолчанию, запрос назовем Изменение оклада. Далее созданный запрос откроем в режиме конструктора и введем условие отбора: <900, выполним команду меню Запрос/Обновление. В строке запроса Обновление введем [Оклад]*1.1 (Рис. 37). После выполнения этого запроса появится сообщение (Рис. 38) на подтверждение обновления записей.

Рис. 37

Рис. 38

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

9.2.2 Запросы на удаление данных

Запрос на удаление позволяет удалить записи из одной таблицы или нескольких взаимосвязанных таблиц, для которых установлен флажок каскадное удаление связанных записей. В запросе указываются таблицы, из которых должны удаляться записи, и задаются условия отбора. Первоначально запрос на удаление создается как запрос на выборку, затем запрос в режиме конструктора преобразуется в запрос на удаление (Запрос/Удаление). После преобразования в запросе появляется строка Удаление. Затем формируется бланк запроса. Для предварительного просмотра удаляемых записей можно нажать кнопку Вид. Для удаления записей запрос нужно запустить на выполнение. Следует иметь в виду, что удаленные записи нельзя восстановить, поэтому перед удалением целесообразно выполнить предварительный просмотр удаляемых записей. Предположим, из таблицы Студенты необходимо отчислить студента Гаврилова И.П. из группы 101. Создадим обычный запрос, включив таблицу Студенты и выбрав поля Фамилия, Имя, Отчество, номер группы. Сохраним запрос с именем Отчисленные студенты. Далее откроем запрос в режиме конструктора и введем условия отбора, пометим запрос как запрос на удаление (Запрос/Удаление), в строке Условие отбора в соответствующих столбцах введем фамилию, имя, отчество и номер группы для отчисляемого студента (Рис. 39)

Рис. 39

После запуска запроса на выполнение Access выводит сообщение, которое представлено на Рис. 40. Пользователь должен сам выбрать свое действие.


Рис. 40

9.2.2 Запросы на добавление данных

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

Рис. 41


После преобразования запроса в его бланке появляется строка Добавление. При формировании добавляемых записей следует иметь в виду, что в бланк запроса должны быть включены поля, соответствующие полям таблицы, в которую будет производиться добавление. Если в таблице, куда добавляются записи, есть ключ, ключевые поля должны быть обязательно включены в бланк запроса. Кроме того, в бланк запроса могут быть включены поля, по которым задаются условия отбора, которые вносятся в поля строки Условия отбора. Предположим, что нам необходимо добавить записи в таблицу Оценки для восстановившегося студента Петрова Петра Петровича из группы 101. Создаем простой запрос, включаем в него поля Фамилия, имя, отчество и номер группы из таблицы Студенты и поле код дисциплины из таблицы Дисциплины. В последнем окне создания запроса пометим пункт Изменить макет запроса, убрав галочку в строке Открыть запрос для просмотра данных. Выполним команду Запрос/Добавление, в строке Условие отбора введем фамилию, имя, отчество и номер группы (Петров Петр Петрович 101) и дисциплину Информатика (Рис. 42)и затем выполним запрос. Появляется окно для подтверждения добавления записей (Рис. 43).