Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Фатхутдинова / Access-для выполнении КР.doc
Скачиваний:
40
Добавлен:
23.01.2014
Размер:
1.04 Mб
Скачать
      1. Реализация процедур группового добавления, удаления и обновления информации

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

а) внести в определенное поле некоторое значение,

б) удалить все записи этой группы,

в) сохранить эту группу записей в новом объекте «таблица»

г) добавить эту группу записей в другой объект «таблица».

Подобные процедуры являются «запросами-действиями» и выполняются в MS Access при помощи объекта «запрос» определенного типа – “Обновление”, “Добавление”, “Удаление”, “Создание таблицы”.

Предположим, что в соответствии с некоторой инструкцией, определенный процент посадочных мест во всех самолетах пассажирского типа резервируется для специального контингента пассажиров, перевозка которых не требует приобретения билетов через общедоступные кассы (сотрудники МЧС, призывники, солдаты и офицеры срочной службы и.т.д.). Это приводит к тому, что необходимо исключить из базы данных сведения об этих пассажирских местах. В связи с этим необходимо произвести изменение значения поля Kol_Pass во всех записях объекта «таблица» LA для со значениями поля Vid_LA - “пассажирский”.

Пример. Уменьшить количества посадочных мест в пассажирских самолетах на R процентов. Создадим объект «запрос» на обновление для выполнения этой процедуры.

1) Создайте объект «запрос» на выборку всех записей из объекта таблицы LA, имеющих в поле Vid_LA значение “пассажирский” (рис.12).

Рис.12

2) В окне объекта «запрос» нажмите правую кнопку мыши (рис. 13), выберите тип объекта «запрос» “Обновление”, после чего в бланке объекта «запрос» появится новая строка «Обновление» (рис. 14).

Рис. 13

3) в строке “Обновление” в столбце с именем Kol_Pass введите следующее выражение: Int([Kol_Pass]*(100-[R])/100). При формировании выражений имена полей и параметры заключаются в квадратные скобки, функция Int преобразует результат вычислений к целому типу. Окончательно объект «запрос» на обновление будет выглядеть следующим образом (рис. 14):

Рис. 14

4) сохраните объект «запрос» и выполните его;

5) проведем анализ работы данного объекта «запрос». Первоначально информация в объекте «таблица» LA была следующей:

Модель

Тип

Кол-во пассажиров

1

"Ту-134"

"пассажирский"

75

2

"Ту-154"

"пассажирский"

150

3

"ИЛ-103"

"транспортный"

20

4

"ИЛ-76"

"транспортный"

50

5

"ЯК-40"

"пассажирский"

40

6

"ЯК-42"

"пассажирский"

100

7

"ИЛ-96"

"пассажирский"

300

Выполним объект «запрос», указав значение R=5 (уменьшить число посадочных мест на 5%). После выполнения объекта «запрос» информация в объекте «таблица» LA будет такой:

Модель

Тип

Кол-во пассажиров

1

"Ту-134"

"пассажирский"

71

2

"Ту-154"

"пассажирский"

142

3

"ИЛ-103"

"транспортный"

20

4

"ИЛ-76"

"транспортный"

50

5

"ЯК-40"

"пассажирский"

38

6

"ЯК-42"

"пассажирский"

95

7

"ИЛ-96"

"пассажирский"

285

Итак, после выполнения процедуры описанной выше изменения произошли только в 5 записях, причем эти изменения зафиксированы в объекте «таблица» LA.

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