Лабораторная работа
Создание базы данных с помощью СУБД Access
по учету движения товаров на складе
Порядок выполнения работы:
I. Создать таблицы (рис.1)

Рис.1
Таблицы создавать в режиме конструктора. Наименования полей, выделенные жирными буквами, являются ключевыми. Для создания ключевых полей необходимо:
1. Выделить нужное поле
2. Выбрать в меню [Правка] опцию [Ключевое поле] или нажать на кнопку
.
Если необходимо сделать ключевыми полями несколько полей, то для этого нужно выделить эти поля переместив курсор мыши в крайнее левое положение (при этом он примет вид горизонтальной черной стрелки). Затем, удерживая левую клавишу мыши, переместить его в вертикальном направлении вдоль нужных полей. После этого отпустить левую клавишу мыши и нажать на кнопку
.
В поле [Дата] таблиц Приходные накладные и Расходные накладные необходимо поместить функцию Date(), которая позволяет автоматически проставлять текущую дату. Для этого надо:
1. Открыть нужную таблицу в режиме конструктора.
2. Выделить поле [Дата].
3. В свойствах поля (рис. 2) во вкладке Общие в строке Значение по умолчанию набрать имя функции Date().

Рис. 2
II. Установить связи между таблицами.
Для установления связей между таблицами необходимо выполнить следующие действия:
1. Сервис – Схема данных – в появившемся диалоговом окне выделяем все таблицы (рис. 3) – нажимаем на кнопку
- после этого нажимаем на кнопку
.

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

Рис. 4
После этого нажимаем на кнопку
.
III. Установить поля со списком.
В базе данных должны быть следующие поля со списком: В таблице Приходные накладные и таблице Расходные накладные полем со списком должно быть поле [Код контрагента], а в таблицах Приход товаров и Расход товаров полями со списком должно быть поле [Код товара]. Для установления полей со списком необходимо выполнить следующие действия (Рис. 5):
1. Открыть нужную таблицу в режиме конструктора.
2. Выделить поле, которое должно быть полем со списком.
3. В свойствах поля открыть вкладку Подстановка где меняем значения следующих параметров
Тип элемента управления | Поле со списком |
Источник строк | Контрагенты |
Число столбцов | 2 |
Ширина столбцов | 0 см |

Рис. 5
Тип элемента управления нужно выбрать из табл. 1 в зависимости от наименования поля
Таблица 1
Поле | Тип элемента управления |
Код контрагента | Табл. Контрагенты |
Код товара | Табл. Товары |
IV. Создать запросы.
Необходимо создать следующие запросы
Запрос1: табл. Товары (поля [Единица измерения], [Цена], [Минимальный запас], [Остаток на складе]) + табл. Приход товаров (поля [Код товара], [Номер приходной накладной], [Поступило единиц]) + вычисляемое поле Сумма:[Цена] * [Поступило единиц]
Запрос2: табл. Товары (поля [Единица измерения], [Цена], [Минимальный запас], [Остаток на складе]) + табл. Расход товаров (поля [Код товара], [Номер приходной накладной], [Убыло единиц]) + вычисляемое поле Сумма:[Цена] * [Убыло единиц]
Запросы создаются в режиме конструктора. Для этого необходимо в базе данных выделить вкладку Запросы, нажать на кнопку Создать, в появившемся диалоговом окне выбрать режим конструктора и нажать на кнопку ОК. Далее появится диалоговое окно (рис.6), которое позволит добавить к создаваемому запросу нужные таблицы.

рис. 6
Когда таблицы будут добавлены в запрос надо будет нажать на кнопку
. На экране появится окно, изображенное на рис. 7.

Рис.7
Необходимые поля из таблиц запроса следует добавлять, перетаскивая их курсором мыши в строку Поле: (см. рис. 7) окна конструирования запроса.
V. Создать формы.
Формы следует создавать в режиме мастера форм.
Необходимо создать следующие основные формы:

| |
|
Когда основные формы будут созданы, нужно открыть форму Товары в режиме формы и занести туда несколько товаров, после этого открыть форму Контрагенты в режиме формы и занести в эту форму несколько наименований поставщиков или покупателей.
Кроме того, необходимо создать еще две вспомогательные формы:
![]() |
После создания формы необходимо открыть ее в режиме конструктора и выделить поле [Поступило единиц]. В свойствах поля выбрать вкладку События (см. рис. 8).

Рис. 8
Найти событие После обновления, щелкнуть мышью справа на свободном месте. Появится поле со списком, в котором выбрать опцию [Процедура обработки событий]. После этого справа от этой надписи появится кнопка
на которую и следует нажать. В результате мы войдем в редактор Visual Basic (рис. 9), где нужно набрать в том месте где находится курсор следующую строку:
[Остаток на складе] = [Остаток на складе] + [Поступило единиц]
![]() |
Рис. 9
После этого нужно закрыть окно Visual Basic.
![]() |
После создания формы необходимо открыть ее в режиме конструктора и выделить поле [Убыло единиц]. В свойствах поля выбрать вкладку События, а затем проделать те же действия, что и с формой Запрос1. В результате мы войдем в редактор Visual Basic, где нужно набрать в том месте где находится курсор следующие строки:
Dim f
f = [Остаток на складе]
[Остаток на складе] = [Остаток на складе] - [Убыло единиц]
If [Остаток на складе] < [Минимальный запас] Then
[Остаток на складе] = f
[Убыло единиц] = 0
MsgBox "На складе нет данного количества товара"
End If
После этого нужно закрыть окно Visual Basic.
После создания всех форм нужно открыть форму Приходная накладная в режиме конструктора и увеличить ее размеры, мышью перетаскивая границы. Затем в окне базы данных захватить форму Запрос1 и перетащить ее удерживая левую клавишу мыши на форму Приходная накладная. Получим форму, внешний вид которой показан на рис. 10.

Рис. 10
Аналогичные действия следует проделать и с формой Расходные накладные, только на нее следует переместить форму Запрос2.
VI. Создать отчеты.
Отчеты будем создавать в режиме мастера отчетов. Создадим два отчета:





