Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_ по_Access1_2013.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.82 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Возраст – название нового поля. Отделяется от остальной части выражения двоеточием;

  • Now() – встроенная функция, которая возвращает текущую дату, аргументов не имеет, но пустые круглые скобки обязательны;

  • Year(…) – встроенная функция, в качестве аргумента требует данные в формате даты, возвращает содержащийся в дате год.

  • Year(Now()) – вложенные функции: функция Now() возвращает текущую дату, которая становится аргументом функции Year(…), последняя возвращает выделенный из даты текущий год. Например, если запрос выполняется 25 сентября 2006 года, то результатом выполнения вложенных функций будет число 2006.

  • Year([Дата рождения]) – аргументом функции Year(…) является значение поля таблицы [Дата рождения] (название поля задается в квадратных скобках).

  • Для этого в левой нижней ячейке двойным щелчком открыть папку Функции, и найти папку Встроенные функции, раскрыть. В средней ячейке показаны все типы встроенных функций, выбрать тип Дата и время или Все, затем в правой ячейке найти функцию Year и двойным щелчком по ней перенести ее в верхнюю ячейку. Затем нажать на знак «-» и еще раз двойной щелчок по функции Year. В верхней ячейке получено выражение: Year(«number») - Year(«number»), щелчком мыши в скобках первого Year(«number») выделить «number» и вместо его выбрать функцию Now() из третьей ячейки, вместо второго «number» выбрать из таблицы Пациенты поле Дата рождения. Получено выражение: Year(Now()) – Year([Дата рождения]). Нажать кнопку ОК, выполнить запрос. В запросе поле, в котором просчитан возраст имеет название Выражение1, чтобы это исправить, надо вернуться в конструктор запроса и в ячейке, где прописано выражение, аккуратно вместо Выражение1 напечатать Возраст.

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

  • Сохранить запрос под именем Возраст пациентов.

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]