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

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

  1. Создать новый запрос по таблицам Пациенты, Госпитализация и Препараты. Включить в него то поле, которое будет обновляться - поле Оплата.
  2. Установить требуемый тип запроса. Для этого выполнить пункт меню Запрос/Обновление либо на панели инструментов нажать кнопку Тип запросов(на ней пиктограмма в виде двух таблиц). Выбрать тип запроса Обновление.

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

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

 

 

Раскрыть ее и двойным щелчком перенести Стоимость в верхнюю ячейку, нажать знак «-», который находится под этой ячейкой в числовом блоке (при вводе математических знаков и скобок пользоваться только этим числовым блоком). Еще раз перенести Стоимость, выбрать знак умножения, затем из таблицы Пациенты перенести двойным щелчком поле Скидка, выбрать знак деления и ввести с клавиатуры 100. (Стоимость - Стоимость * Скидка/100).Закрыть построитель, и выполнить запрос. При выполнении запроса Accessпредупредит, что будут обновлены данные в таблице.

 

  1. Убедиться в правильности обновления можно толькораскрыв таблицу Госпитализация и посмотрев поле Оплата. Сохранить запрос под именем Оплата.
  2. Создать новый запросна обновление Возраста, включив в него поле, которое будет обновляться – поле Возраст.
  3. По аналогии с предыдущем запросом установить требуемый тип запроса. Для этого выполнить пункт меню Запрос/Обновление либо на панели инструментов нажать кнопку Тип запросов(на ней пиктограмма в виде двух таблиц). ). Выбрать тип запроса Обновление.

 

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

Year(Now()) – Year([Дата рождения])

Элементы этого выражения обозначают:

    1. Now() – встроенная функция, которая возвращает текущую дату, аргументов не имеет, но пустые круглые скобки обязательны;
    2. Year(…) – встроенная функция, в качестве аргумента требует данные в формате даты, возвращает содержащийся в дате год.
    3. Year(Now()) – вложенные функции: функция Now() возвращает текущую дату, которая становится аргументом функции Year(…), последняя возвращает выделенный из даты текущий год. Например, если запрос выполняется 25 сентября 2006 года, то результатом выполнения вложенных функций будет число 2006.
    4. Year([Дата рождения]) – аргументом функции Year(…) является значение поля таблицы [Дата рождения] (название поля задается в квадратных скобках).
  1. Для этого в левой нижней ячейке двойным щелчком открыть папку Функции, и найти папку Встроенные функции, раскрыть. В средней ячейке показаны все типы встроенных функций, выбрать тип Дата и время или Все, затем в правой ячейке найти функцию Yearи двойным щелчком по ней перенести ее в верхнюю часть Построителя выражений.

 

 

Затем нажать на знак «-» и еще раз двойной щелчок по функции Year.

 

В верхней ячейке получено выражение: Year(«number») - Year(«number»),щелчком мыши в скобках первого Year(«number»)выделить«number»и вместо его выбрать функцию Now()из третьей ячейки.

 

Вместо второго «number»выбрать из таблицы Пациенты поле Дата рождения.

Получено выражение: Year(Now()) – Year([Дата рождения]).Нажать кнопку ОК, выполнить запрос.

 

.

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