Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.doc
Скачиваний:
7
Добавлен:
15.05.2015
Размер:
1.25 Mб
Скачать

Запрос на обновление

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

Задание 6.

1. Создайте запрос на увеличение стажа педагогической работы учителей на один год при окончании календарного года. Пояснения: создайте запрос в режиме конструктора, добавив таблицу «Учителя». В меню «Запрос» выберите команду «Обновление», заполните бланк запроса, как показано на рис. 33. Условие отбора проверяет, является ли дата запуска запроса последним днем года (т.е. 31 декабря), если нет, то увеличение стажа не происходит. Чтобы проверить работу запроса, настройте системную дату компьютера на 31 декабря, после чего запустите запрос. Сохраните запрос под именем «Увеличение стажа в конце года». Вернитесь к исходным данным, изменив в поле «Обновление» формулу на [Стаж пед раб]-1.

Рис. 33

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

Разница: Month(Date())-Month([Дата пр на раб]),

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

Рис. 34

Чтобы проверить работу запроса, настройте системную дату компьютера на 28 число, после чего запустите запрос. Сохраните запрос под именем «Увеличение стажа (проверка в конце месяца)». Вернитесь к исходным данным, изменив в поле «Обновление» формулу на [Стаж пед раб]-1.

3. Создайте запрос на обновление поля «Классное руководство» в таблице «Учителя». Считается, что по окончании учебного года классные руководители 11-классников становятся классными руководителями 5-классников; классные руководители 4-классников становятся классными руководителями 1-классников; остальные классные руководители переходят вместе со своими учениками в следующий класс (рис. 35).

Рис. 35

Такой запрос лучше осуществить в несколько этапов:

  1. перевести классных руководителей 4-го класса во вспомогательный нулевой класс (в первый класс перевести пока нельзя, так как он является занятым);

  2. перевести классных руководителей 1, 2, 3, 5-11-го классов в следующий класс (при этом учителя 11 класса перейдут в 12 класс);

  3. перевести классных руководителей 0-го класса в 1-ый класс;

  4. перевести классных руководителей 12-го класса в 5-ый класс (рис. 36).

Рис. 36

Для первого этапа создайте запрос на обновление, как показано на рис. 37. Условие отбора Like“4*” позволяет отобрать классных руководителей 4-х классов; формулаCstr$(«0») представляет число 0 как текст; формулаRight([Класс рук];3) выделяет из поля [Класс рук] три символа справа (это соответствует букве класса в кавычках). При этом число обновляемых записей должно быть равно 2 (учителя 4 «А» и 4 «Б»). Сохраните запрос под именем «Переход классных руководителей (этап 1)».

Рис. 37

Для второго этапа создайте запрос на обновление, как показано на рис. 38. Условие отбора >0 позволяет отобрать классных руководителей всех классов, кроме нулевого (бывший четвертый); перед использованием этого условия поле [Номер класса] переводят в числовой формат с помощью функции Cint:Cint([Номер класса]); формулаCstr$(Cint([Номер класса])+1) сначала переводит [Номер класса] в числовой формат, затем увеличивает номер класса на единицу, а затем полученное числовое значение переводит обратно в текстовое значение, чтобы затем сложить его с буквой класса. При этом число обновляемых записей должно быть равно 27 (учителя 5-11 классов по 3 человека, учителя 1-3 классов по 2 человека). Сохраните запрос под именем «Переход классных руководителей (этап 2)».

Рис. 38

Для третьего этапа создайте запрос на обновление (перевод нулевого класса в первый) аналогично первому этапу. При этом число обновляемых записей должно быть равно 2 (учителя 0 «А» и 0 «Б»). Сохраните запрос под именем «Переход классных руководителей (этап 3)».

Для четвертого этапа создайте запрос на обновление (перевод двенадцатого класса в пятый) аналогично первому этапу. При этом число обновляемых записей должно быть равно 3 (учителя 12 «А», 12 «Б», 12 «В»). Сохраните запрос под именем «Переход классных руководителей (этап 4)».

4. Создайте запрос на обновление поля «Класс» в таблице «Ученики». По окончании учебного года ученики должны быть переведены в следующий класс. Так как ученики 11-го класса уже удалены из школы, то можно было бы увеличить номер класса на единицу у всех оставшихся учеников. Однако, после окончания начальной школы два четвертых класса делятся на три пятых класса, при этом класс 5 «В» считается лицейным. Поэтому перевод учеников производится также в несколько этапов:

  1. перевести учеников 4-го класса во вспомогательный нулевой класс;

  2. перевести учеников 1, 2, 3, 5-10-го классов в следующий класс;

  3. перевести учеников 0-го класса в 5-ый класс согласно их оценкам (ученик принимается в лицейный класс 5 «В», если сумма его оценок по предметам «Математика», «Русский язык», «Чтение», «Информатика» составляет не менее 17 баллов; ученик принимается в класс 5 «А», если сумма оценок находится в пределах 15-17; в класс 5 «Б», если сумма оценок составляет менее 15 баллов);

Для первого этапа создайте запрос на обновление (перевод учеников четвертого класса в нулевой) аналогично запросу «Переход классных руководителей (этап 1)». Сохраните запрос под именем «Переход учеников (этап 1)».

Для второго этапа создайте запрос на обновление (перевод учеников 1-10 классов в следующий класс) аналогично запросу «Переход классных руководителей (этап 2)». Сохраните запрос под именем «Переход учеников (этап 2)».

Для третьего этапа необходимо создать запрос для подсчета суммы оценок по предметам «Математика», «Русский язык», «Чтение», «Информатика» у учеников нулевого класса (бывший четвертый). Бланк запроса заполните, как показано на рис. 39. Сохраните запрос под именем «Сумма оценок у 4 классников».

Рис. 39

Результаты, полученные с помощью запроса «Сумма оценок у 4 классников», необходимо перевести в таблицу, так как последующий запрос на добавление может работать только с таблицами. Для создания таблицы на основе запроса вызовите конструктор запросов, добавьте запрос «Сумма оценок у 4 классников», в меню «Запрос» выберите команду «Создание таблицы». В строке «Имя таблицы» введите имя создаваемой таблицы (рис. 40) и затем заполните бланк запроса (рис. 41).

Рис. 40

Рис. 41

Сохраните запрос под именем «Создание таблицы на основе запроса».

Для перевода учеников нулевого класса в 5 «В» создайте запрос на обновление и заполните бланк запроса, как показано на рис. 42. Сохраните запрос под именем «Переход учеников в 5 В (этап 3)».

Рис. 42

Для перевода учеников нулевого класса в 5 «А» создайте запрос на обновление и заполните бланк запроса, как показано на рис. 43. Сохраните запрос под именем «Переход учеников в 5 А (этап 3)».

Рис. 43

Для перевода учеников нулевого класса в 5 «Б» создайте запрос на обновление и заполните бланк запроса, как показано на рис. 44. Сохраните запрос под именем «Переход учеников в 5 Б (этап 3)».

Рис. 44

18