Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadanie_3-_prostye_zaprosy.docx
Скачиваний:
29
Добавлен:
17.03.2015
Размер:
83.39 Кб
Скачать

2.5. Вычисляемые поля

Вычисления с помощью рассмотренных выше выражений можно производить над любыми полями таблицы и сделать вычисляемое значение новым полем в наборе записей.

В строку поля выражения могут быть записаны непосредственно либо с использованием Построителя выражений (это чрезвычайно удобный инструмент Access, особенно для конструирования достаточно сложных выражений).

2.5.1. Конструирование выражения в строке поля

Используя таблицу «Сотрудники» попробуем создать запрос, в котором из полей «Фамилия» и «Имя» будут выбраны данные обо всех сотрудниках и результирующая запись будет выведена в одном поле. В этом случае, выражение, реализующее наше задание будет иметь вид:

[Фамилия]&" "&[Имя]

Напомним, что после оператора конкатенации (&) в кавычках стоит знак пробела, для того, чтобы Фамилия, Имя и Отчество не были записаны неразрывно (п.2.3.1.1.).

Откройте вкладку Создание диалогового окна Базы данных.

Щелкните на кнопке «Конструктор запросов».

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

В строке «Поле» запишите выражение для выборки и размещении в одном поле Фамилии и Имени сотрудников. Слово «Выражение1:» появится автоматически. Далее вы научитесь его изменять.

В строке «Сортировка», установите – «По возрастанию».

Из таблицы«Сотрудники» выберите поля «Город» и «Адрес» и поместите их во втором и третьем столбцах (п.2.2.3.).

Если это необходимо, пометьте галочкой вывод полей на экран.

Нажмите кнопку запуск, или нажмите кнопку «Режим таблицы» когда на ней изображена таблица (п.2.2.5.).

Писать выражение в Поле не очень удобно из-за того, что часть выражения уходит за пределы столбца ввода, а также из-за того, что Имя поля «Выражение1» предлагаемое вам Access по умолчанию не информативно. Естественно, что имя поля можно отредактировав позднее.

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

Чтобы избежать этого можно воспользоваться Построителем выражений.

2.5.2. Использование Построителя выражений

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

Премия:Int(((Now()-[Дата приема])/360)*[Зарплата])*1,3)

Из имеющегося запроса «Дата приема запрос» создайте новый запрос, в котором будете начислять заработную плату. Для этого:

  • В Окне базы данных щелкните правой кнопкой мыши на запросе «Дата приема Запрос».

  • Выберите команду «Копировать».

Щелкните правой кнопкой мыши в свободной части Окна базы данных.

  • Выберите команду «Вставить».

  • Укажите новое имя запроса – «Расчет премии Запрос».

Щелкните на кнопке «ОК».

Щелкните на кнопке «Построитель» Панели элементов Конструктор запросов или щелкните правой кнопкой мыши в строке «Поле» Конструктора запросов.

В открывшемся контекстном меню выберите команду «Построить» и MS Access откроет окно Построителя выражений.

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

В нижней части этого окна расположены три списка, которыми можно (нужно) пользоваться, чтобы найти необходимые для создания выражения имена полей и функций.

Так как мы намерены для построения Выражения в запросе воспользоваться Именами полей запроса «Расчет премии Запрос», то:

  • Дважды щелкните в левом списке на папке «Запросы», для того, чтобы раскрыть ее и увидеть список имен запросов, содержащихся в базе данных.

  • Найдите запрос «Расчет премии Запрос и дважды щелкните на ней для того, чтобы в среднем окне увидеть список полей этого запроса.

Для того чтобы рассчитать величину премии:

  • Дважды щелкните в левом списке на папке «Функции» и затем щелкните на папке «Встроенные функции»

В открывшемся в центральном окне списке встроенных в Access функций, выберите группу функций « Математические» и щелкните на ней кнопкой мыши.

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

В результате выполненных действий функция Int() будет перенесена в окно ввода.

Обратите внимание. Внедренный оператор Int() внутри скобок содержит запись «Number», это говорит о том, что в качестве аргумента этой функции должно выступать число, или функция, результатом которой также будет некоторое число.

Щелкните мышью внутри скобок оператора.

Щелкните на категории функций «Дата\Время» и введите в выражение функцию «Now()» или функцию «Date()». Отличие между функциями в том, функция Now() помимо текущей даты возвращает, и текущее время, что в нашем случае не имеет принципиального значения.

Используя кнопку под окном ввода, введите знак «минус» или просто напечатайте его.

Вновь откройте запрос «Расчет премии Запрос и введите имя поля «Дата приема».

Каждый раз при вводе новой функции или имени поля Access подставляет слово – напоминание (на наш взгляд излишнее) «Выражение». Выделите и удалите его.

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