- •1. Базы данных
- •2. Работа с базой данных и таблицами
- •2.1. Запуск Access
- •2.2. Создание базы данных
- •2.3. Открытие базы данных
- •2.4. Создание таблицы в режиме Конструктор
- •2.5. Редактирование структуры таблицы
- •2.6. Создание схемы данных (связей между таблицами)
- •2.7. Редактирование схемы данных
- •2.8. Ввод и редактирование данных в таблице
- •Формы данных
- •3.1. Создание формы
- •3.2. Создание однотабличной формы в режиме автоформы
- •3.3. Редактирование формы в режиме Конструктор
- •3.4. Создание составной формы
- •3.5. Защита и контроль данных, вычисления в форме
- •Запросы
- •4.1.Типы запросов
- •4.2.Создание запросов в режиме Конструктор
- •5. Отчеты
- •5.1.Способы создания отчетов
- •5.2. Создание отчета с помощью мастера отчетов
- •5.3. Создание отчета в режиме Конструктор
- •6. Заполнение полосы Верхний колонтитул.
- •7. Заполнение полосы Заголовок группы.
- •8. Заполнение полосы Область данных.
- •9. Заполнение полосы Примечание группы.
- •10. Заполнение полосы Нижний колонтитул.
- •11. Заполнение полосы Примечание отчета.
3.4. Создание составной формы
Составная форма создается для ввода и редактирования данных в двух таблицах, между которыми существует связь один ко многим. Данная связь означает, что одна запись из одной таблицы (главной) связана с несколькими записями в другой таблице (подчиненной).
Создание составной формы с помощью мастера форм осуществляется следующим образом.
Переходят во вкладку Формы и щелкают по Создать.
В диалоговом окне Новая форма выбирают режим создания – Мастер форм, ОК.
В диалоговом окне Создание форм выбирают главную таблицу из списка Таблицы/Запросы и все поля данной таблицы, используя кнопку >>.
В диалоговом окне Создание форм выбирают подчиненную таблицу из списка Таблицы/Запросы и все поля данной таблицы, используя кнопку >>, щелкают по кнопке Далее.
В следующем окне определяют тип представления данных (выбирают главную таблицу), активизируют переключатель Подчиненные формы и щелкают по кнопке Далее.
В следующем диалоговом окне выбирают вариант представления подчиненной формы (табличный), щелкают по кнопке Далее.
В следующем окне выбирают стиль оформления форм, щелкают по кнопке Далее.
В последнем окне задают имя главной и подчиненной форм и щелкают по кнопке Готово.
3.5. Защита и контроль данных, вычисления в форме
Защита данных поля от изменения. Для защиты данных поля от изменения используется свойство Блокировка. Блокировка может быть установлена для любого поля формы. Чтобы защитить таким образом поле, надо, находясь в макете формы (режим Конструктор), выделить защищаемое поле и вызвать для него контекстное меню, в котором выбрать пункт Свойства. Затем в окне свойств во вкладке Данные в строке Блокировка выбрать Да. После установки этого свойства поле доступно только для чтения.
Вычисления в каждой записи формы. Чтобы произвести вычисления на основе данных одной записи в форме, необходимо создать вычисляемый элемент управления, в который записывается выражение. Для создания вычисляемого элемента управления надо открыть форму в режиме Конструктор и, нажав на панели элементов кнопку Поле (аб|), разместить вычисляемый элемент управления в нужном месте. Затем в объект свободный вносится выражение, в объект поле надпись. Выражение должно начинаться со знака равенства (=). В качестве операндов выражения чаще всего используются имена полей, константы, а в качестве операторов – знаки арифметических операций.
Для объекта с именем Свободный вызывают контекстное меню, выбирают пункт меню Свойства, вкладку Данные, строку Данные. При этом можно внести формулу в строке Данные вручную, а можно воспользоваться кнопкой Построитель выражений (…), которая находится в данной строке. В окне построителя выражений имеется панель кнопок с различными операторами и есть возможность выбрать из списка нужные поля (активизировав во второй нижней части окна строку <список полей>) и функции.
Вычисление итоговых значений для записей подчиненной формы и вывод их в основной форме. Основная форма и ее подчиненная форма строятся на основе таблиц, между которыми установлена связь типа «один-ко-многим». При этом в основной форме выводится только одна запись, а в подчиненной форме – несколько записей, которые подчинены ей. При расчете итогового значения для группы записей подчиненной формы вычисляемое поле может быть отображено в области данных основной формы.
Пример. Пусть требуется подсчитать для каждой модели суммарную продажу (Sum([Количество])) в подчиненной форме Продажа-ПФ и вывести эти данные в области данных главной формы Устройства-Продажа. Порядок действий следующий:
отобразить подчиненную форму Продажа-ПФ в режиме конструктора;
в данной форме в области примечания формы создать вычисляемый элемент управления (с помощью кнопки Поле панели элементов) и внести туда выражение, содержащее статистическую функцию подсчета суммы =Sum([Количество]); запомнить имя созданного элемента управления (допустим это было имя “Поле10”); сохранить произведенные действия и выйти из режима конструктора;
отобразить основную форму Устройства-Продажа в режиме конструктора; в основной части формы создать поле с помощью кнопки Поле на панели элементов и записать туда выражение:
= [Продажа-ПФ] . [Form]![Поле10]
Это выражение является ссылкой на элемент управления Поле10 в подчиненной форме.
Общий формат такой ссылки имеет вид:
первый вариант ссылки
=[Имя подчиненной формы].[Form]![Имя поля в подчиненной форме]
или второй вариант ссылки
=Forms![Имя главной формы]![Имя подчиненной формы]![Имя поля].
Например:
=Forms![Устройства-Продажа]![Продажа-ПФ]![Поле10]
Пересчет поля в главной форме при изменении или вводе значения в поле подчиненной формы. Пусть имеются основная форма Устройства-Продажа и подчиненная форма Продажа-ПФ для таблиц Устройства и Продажа, между которыми существует связь «один-ко-многим». Требуется пересчитывать поле Кол-во на складе в основной форме при изменении или вводе данных в поле Количество в подчиненной форме, если поле Количество меньше или равно поля Кол-во на складе, в противном случае выдать сообщение об ошибке и обеспечить повторный ввод информации. Порядок действий:
отобразить подчиненную форму Продажа-ПФ в режиме конструктора;
выделить поле Количество и открыть для него окно свойств (кнопка Свойства на панели инструментов или в контекстном меню пункт Свойства);
в окне свойств перейти во вкладку События, в строке После обновления щелкнуть по кнопке Построитель выражений, выбрать пункт меню Программы и щелкнуть по кнопке ОК; при этом мы попадаем в процедуру обработки события;
набрать следующие операторы
If forms![Устройства-Продажа]![Кол-во на складе]> [Количество] Then
forms![Устройства-Продажа]![Кол-во на складе] = forms![Устройства-Продажа]![Кол-во на складе] - [Количество]
Else
[Количество] = null
[Дата продажи].SetFocus
[Количество].SetFocus
MsgBox “ Количество больше количества на складе “, vbOKOnly
End If
сохранить процедуру, закрыть окна процедуры, свойств, конструирования формы.