ТОП 10:

Использование условий в макросах



Обычно макрокоманды в макросах выполняются последовательно. Для того чтобы изменить очередность выполнения команд, можно определить условия на выполнение или пропуск макрокоманд. Эти условия задаются в виде выражений в столбце «Условие» после нажатия кнопки «Условия» - .

Пример 2.Создание макроса, порядок выполнения макрокоманд которого зависит от введённых условий. Требуется, чтобы при работе с формой «Оклад и надбавка» в случае, если сотрудник имеет стаж работы, открывалась таблица «Надбавка за стаж», в противном случае появлялось соответствующее сообщение.

Для создания макроса:

1. Макросы ® Создать. Открывается окно Конструктора макросов

2. Щелкнуть на кнопке «Условие».

3. В 1-ю строку столбца «Макрокоманда» поместить макрокоманду «Сообщение». В области аргументов ввести текст «Сотрудник надбавки за стаж не имеет»

4. В столбце «Условие» ввести выражение:

[Формы]![Оклад и надбавка]![Стаж работы]="не имеет".

В этом выражении слово [Forms] определяет группу объектов, элементы управления которых задействованы при формирования условия. [Оклад и надбавка] – имя формы, [Стаж работы] – имя поля, значение которого будет сравниваться со значением ="не имеет". Имена групп, объектов базы данных и полей разделяются восклицательным знаком «!».

5. 2 строка – команда, которая будет выполняться, если условие ложно. В примере этокоманда – открыть таблицу «Надбавка за стаж».

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

7. Сохранить.

8. Проверить правильность. Для этого открыть форму «Оклад и надбавка» и нажать кнопку «Выполнить»

9. Настройка формы: Открыть форму «Оклад и надбавка» в режиме конструктора. Щелкнуть правой кнопкой мыши в поле «Фамилия». В окне свойств элементов формы на вкладке «Событие» в поле «Вход» указать имя созданного макроса.

ЗАПРОСЫ

Простые запросы – ограничены одной таблицей, не содержат критериев, условий, фильтров. С помощью МАСТЕРА.

Пример №1. Информация о стаже работы сотрудников.

1. Выбрать «Запросы», кнопка «Создать», окно «Новый запрос».

2. Вариант «Простой запрос», «Ок». Это же окно появляется, если выбрать режим «создание запроса с помощью мастера»

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

4. Задать имя запроса и режим открытия. Если режим «Изменить макет», то переход в режим Конструктора.

Пример №2. Групповая обработка. Определить суммы, выплачиваемые категориям сотрудников в качестве оклада и надбавки за стаж.

1. Выбрать режим «создание запроса с помощью мастера»

2. В качестве источника данных выбрать: Должность из «Сотрудники», Оклад по должности из «Оклад по должности» и Надбавка за стаж из «Надбавка за стаж». Далее.

3. Способ представления данных: Итоговый, нажать кнопку «Итоги»

Пример №3. С помощью КОНСТРУКТОРА. Данные о надбавках за стаж работы для инженеров.

1. режим «создание запроса с помощью конструктора»

2. Окно «Добавление таблицы» - выбрать «Сотрудники» и «Надбавка за стаж»

3. Выбрать поля: фамилия, должность и надбавка за стаж. Надбавка за стаж – сортировка по убыванию, должность - условие отбора «инженер»

4. Просмотреть – кнопка «запуск» !. Сохранить «инженеры».

Пример №4. Добавление таблиц в запрос.

1. Открыть запрос «инженеры» в режиме конструктора.

2. Кнопка «Отобразить таблицу»

3. В бланк запроса поместить поле «Оклад по должности»

4. Просмотреть – кнопка «запуск» !. Сохранить «инженеры1».

Пример №5. Использование параметров. Данные о должностных окладах и надбавках за стаж работы для любых должностей.

1. Открыть запрос «инженеры1» в режиме конструктора.

2. Столбец Должность, строка «Условие отбора» - подсказка [Введите должность]. Для ввода длинного условия SHIFT+F2 – окно «Область ввода».

3. Сохранить под именем «Оклад и надбавка».

Пример №5. Несколько параметров для отбора записей. Информация о должностных окладах и надбавках за стаж работы для сотрудников в возрасте «от и до» в соответствии с их должностями.

1. Открыть запрос «Оклад и надбавка» в режиме конструктора

2. В бланк запроса добавить поле Дата рождения

3. В строку «Условие отбора» для этого поля ввести: BETWEEN [Введите начальную дату] AND [Введите конечную дату]

4. Для поля с параметром создать маску ввода. Правой кнопкой мыши – СВОЙСТВА. Вкладка ОБЩИЕ. Строка МАСКА ВВОДА, кнопка ¼ , Краткий формат даты.

Пример №6. Использование параметров Подсчет суммарных выплат сотрудникам.

1. Конструктор. Добавление таблицы. Перенести все таблицы.

2. Из таблиц выбрать поля Фамилия, Должность, Оклад по должности, Надбавка за стаж и поместить их в бланк запроса.

3. Создать в свободном столбце поле Итоги и ввести выражение – формулу, по которой будут выполняться вычисления. Имена таблиц в квадратных скобках, далее имена полей тоже в квадратных скобках. Для разделения имен таблиц и полей используется «!». Если имя поля только в одной таблице, то имя этой таблицы можно не указывать.

4. Сортировка по убыванию итогов.

5. Необходимо задать формат вычисляемого поля. Правой кнопкой мыши – СВОЙСТВА. Вкладка ОБЩИЕ. Строка Формат поля – Денежный

6. Сохранить «Основной»

Пример №7. Групповая обработка данных. Максимальные начисления различным категориям сотрудников.

1. Скопируем «Основной» в «Основной1».

2. Откроем в режиме Конструктора

3. Удалим из запроса все поля, кроме Должность и Итоги.

4. Кнопка å - групповые операции. Появляется строка групповая операция. В столбце Итоги выбрать МАХ

 

Пример №8. Формирование запроса по неполному значению поля.

Определить, кто из сотрудников проживает на Бору. Название города – часть домашнего адреса.

1. Создать запрос в режиме Конструктора. В качестве источника – таблица «Сотрудники».

2. В бланк запроса поместить поля Фамилия, Домашний адрес. В строку Условие отбора – «*Бор*». Звездочки заменяют неизвестные фрагменты текста. После завершения формирования запроса автоматически добавляется слово LIKE (Подобно).

ПЕРЕКРЕСТНЫЙ ЗАПРОС – предназначен для анализа информации, хранящейся в нескольких таблицах. Перекрестный запрос вычисляет сумму, среднее значение, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой — заголовки строк. Создать перекрестный запрос можно в режиме Мастера или в режиме Конструктора. Мастер перекрестных запросов может использовать записи только из одной таблицы или запроса, поэтому можно сначала создать обычный запрос, а затем преобразовать его в перекрестный.

1. Выбрать «Запросы», кнопка «Создать», окно «Новый запрос», «Перекрестный запрос». Запускается Мастер.

2. В качестве источника данных – запрос «Основной»

3. Выбрать поля для заголовка строк – Оклад по должности, Надбавка за стаж, Итоги

4. Выбрать поле для заголовка столбцов – Должность.

5. Задать поля и результат обработки данных. Цель запроса – анализ доходов сотрудников, поэтому выбрать поле Фамилия, а действие число (вывод числового значения)

6. Имя запроса – Итоговый_перекрестный.

ЗАПРОСЫ НА ИЗМЕНЕНИЕ (4 типа: создание таблицы, добавление, удаление и обновление записей)

СОЗДАНИЕ ТАБЛИЦ – создает новую таблицу на основе данных из одной или нескольких таблиц.

1. В режиме Конструктора создать запрос, содержащий поля, которые необходимо скопировать в новую таблицу: поля Фамилия, Дата рождения, Должность, Оклад по должности Надбавка за стаж из таблиц и поле Итоги из запроса «Основной».

2. Просмотреть в режиме таблицы.

3. Вернуться в режим Конструктора. Команда меню «Запрос» ® Создание таблицы. Ввести имя таблицы.

4. Нажать кнопку !. Раскроется диалоговое окно с сообщением о количестве записей, помещенных в таблицу.

5. Закрыть запрос, не сохранив его. Созданная таблица не сохраняет ключи, индексы и свойства полей исходной таблицы. Их надо установить в режиме Конструктора.







Последнее изменение этой страницы: 2016-09-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.231.247.139 (0.007 с.)