- •Система управления базами данных access
- •2002 Содержание
- •Общие сведения Основные Термины
- •Понятие реляционной базы данных
- •Примеры выделения ключевых полей
- •Типы связей между таблицами.
- •Порядок работы при создании базы данных
- •Создание новой бд
- •Создание таблиц
- •Загрузка таблицы данными
- •Работа с макетом таблицы
- •Фильтрация данных
- •Запросы
- •Создание форм на основе одной таблицы или запроса
- •Выделение элементов формы
- •Создание многотабличных форм
- •Элементы управления и их свойства
- •Свойства формы
- •Расположение элементов управления на форме
- •Сортировка и группировка даннных
- •Создание отчета при помощи мастера
- •Создание отчета накладная
- •Синхронизация данных в форме и отчете
- •Макросы
- •Ссылки на объекты бд
- •Создание макросов
- •Краткая характеристика макрокоманд
- •Создание простого макроса , позволяющего выбирать из списка клиента для последующего создания отчета
- •Пример создания макроса архивации старых данных.
- •Пример макроса, позволяющего изменять кол-во компьютеров на складе, при заполнении формы заказ.
- •Групповые макросы
- •Создание группового макроса , позволяющего изменять количество товара на складе при заполнении формы и изменять свойство видимости кнопок (visible)
- •Организация поиска при помощи макроса
- •Условные макросы
- •Создание формы ввода пароля
- •Условный макрос Скидка
- •Реализация циклов в макросах
- •Создание Приложения Пользователя
- •Создание кнопочной формы при помощи мастера
- •Создание кнопочной формы при помощи конструктора форм
- •Создание панели Инструментов пользователя.
- •Создание строки меню пользователя.
- •Параметры запуска приложения
- •. Сжатие бд
- •Восстановление Повреждений.
- •Список литературы
Условный макрос Скидка
На основе запроса Заказсоздайтеавтоформу в столбец Заказ1
Откройте форму в режиме Конструктора
Добавьте без помощи мастера кнопки перехода по записям и кнопку добавления новой записи
Создайте два свободных поля Скидка( имяCost1) и ОбщаяСтоимость(имяCost)
Упростим задачу. Скидка будет предоставляться только при покупке компьютеров , а принтеры в расчет приниматься не будут. При покупке менее 10 принтеров скидки нет , при покупке от 10 до 20 скидка 1%, при покупке более 20 скидка 2%
Перейдите на вкладку Макросы и создайте групповой макрос Скидка
.Подключите столбцы Именимакроса иУсловия(менюВид)
Имя макроса |
Условие |
Макрокоманда |
Аргументы |
Количество |
[КолК]<10 |
ЗадатьЗначение |
Элемент: [Cost1] Выражение: 0 |
|
… |
ЗадатьЗначени |
Элемент: [Cost] Выражение: [Стоимость заказа] |
|
… |
ОстановитьМакрос |
|
|
[КолК] Between 10 And 20 |
Сообщение |
Вам предоставляется скидка 1% |
|
… |
ЗадатьЗначени |
Элемент: [Cost1] Выражение: [Стоимость заказа]*0,01 |
|
… |
ЗадатьЗначени |
Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
|
|
ОстановитьМакрос |
|
|
[КолК] > 20 |
Сообщение |
Вам предоставляется скидка 2% |
|
… |
ЗадатьЗначени |
Элемент: [Cost1] Выражение: [Стоимость заказа]*0,02 |
|
… |
ЗадатьЗначени |
Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
|
|
ОстановитьМакрос |
|
7 Привяжите, созданный макрос Скидка.Количество к свойству После Обновления поля КолК
8 Создайте новую запись и поэкспериментируйте с количеством , заказанных компьютеров
Обратите внимание , что значения полей Скидка и Общая стоимость сбиваются при использовании кнопок перемещения по записям и при открытии формы. Следовательно к событиям соответствующих элементов необходимо привязать макросы очень похожие на только, что созданный макрос.
9 Для того, чтобы многократно не повторять одни и те же команды выделим их в отдельный макрос РасчетСкидки_
Условие |
Макрокоманда |
Аргументы |
[КолК]<10 |
ЗадатьЗначение |
Элемент: [Cost1] Выражение: 0 |
… |
ЗадатьЗначени |
Элемент: [Cost] Выражение: [Стоимость заказа] |
… |
ОстановитьМакрос |
|
[КолК] Between 10 And 20 |
Сообщение |
Вам предоставляется скидка 1% |
… |
ЗадатьЗначени |
Элемент: [Cost1] Выражение: [Стоимость заказа]*0,01 |
… |
ЗадатьЗначение |
Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
|
ОстановитьМакрос |
|
[КолК] > 20 |
Сообщение |
Вам предоставляется скидка 2% |
… |
ЗадатьЗначени |
Элемент: [Cost1] Выражение: [Стоимость заказа]*0,02 |
… |
ЗадатьЗначени |
Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
|
ОстановитьМакрос |
|
10 Дополните макрос Скидка следующими макрокомандами
Имя макроса |
Макрокоманда |
Аргументы |
Количество |
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Следующая |
НаЗапись |
Следующая |
|
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Предыдущая |
НаЗапись |
Предыдущая |
|
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Первая |
НаЗапись |
Первая |
|
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Последняя |
НаЗапись |
Последняя |
|
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Открытие |
ЗапускМакроса |
Имя макроса: РасчетСкидки |
Столбец Условие можно спрятать с вывода на экран