Таблица 5
Таблицы разрабатываемой базы данных
№ п/п |
Наименование реквизита |
Тип поля |
Ключ |
||||
Шапка накладной |
|||||||
1 |
Номер накладной |
Текстовый |
Первичный |
||||
2 |
Дата накладной |
Дата/Время |
|
||||
3 |
Код покупателя |
Числовой |
Вторичный |
||||
Покупатели |
|||||||
1 |
Код покупателя |
Счетчик |
Первичный |
||||
2 |
Наименование покупателя |
Текстовый |
|
||||
3 |
Адрес покупателя |
Текстовый |
|
||||
4 |
Банковские реквизиты покупателя |
Текстовый |
|
||||
Товары |
|||||||
1 |
Код товара |
Счетчик |
Первичный |
||||
2 |
Наименование товара |
Текстовый |
|
||||
3 |
Единицы измерения |
Текстовый |
|
||||
4 |
Цена отпускная |
Денежный |
|
||||
Отгрузка |
|||||||
1 |
Номер накладной |
Текстовый |
Вторичный |
||||
2 |
Код товара |
Числовой |
Вторичный |
||||
3 |
Количество отгружено |
Числовой |
|
||||
Связи между таблицами можно описать графически:
Рис. 5. Логическая структура базы данных
Выбрать вкладку Таблицы;
Нажать на кнопку Создать в окне базы данных;
Выбрать в открывшемся окне Новая таблица пункт Конструктор;
Описать в окне конструктора поля таблицы, присвоить им имена и выбрать типы данных;
Описать ключевое поле и сохранить таблицу с оригинальным именем;
Войти в окно базы данных и аналогично создать остальные таблицы базы.
Для создания связей между таблицами:
Открыть окно диалога "Схема данных" в режиме Сервис►Схема данных или нажать на кнопку Схема данных на панели инструментов;
Добавить в это окно диалога последовательно все связываемые таблицы (команда Связи►Добавить или кнопка Добавить таблицу на панели инструментов);
Закрыть окно диалога Добавление таблицы;
Для связывания таблиц выбрать и переместить с помощью мыши ключевое поле первой связываемой таблицы (в таблице "Шапка накладной" поле "Номер накладной") на соответствующее поле второй таблицы (в таблице "Отгрузка" - поле "Номер накладной"). На экране откроется окно диалога Связи;
Отметить мышью режим Обеспечение целостности данных (вставить флажок);
Отметить режим Каскадное обновление связанных полей;
Отметить режим Каскадное удаление связанных полей.
Необходимо проверить тип связи: он должен быть "один-ко-многим". В противном случае измените описание ключевого поля в таблице "Отгрузка".
После разработки отдельных таблиц и установления связей между ними создание базы данных, предназначенной для учета данных о продажах товара, можно считать законченным. Следующим этапом работы с базой является ее заполнение, создание различных форм, создание запросов и составление отчетов на основании информации в ней.
Формы предназначены для ввода, просмотра и корректировки взаимосвязанных данных в таблицах в диалоговом режиме на экране. Основными требованиями, предъявляемыми к экранным формам, являются:
максимальное соответствие форме первичных документов;
максимальное облегчение человеку ввода данных.
Экранная форма может содержать не все поля отдельных таблиц, а также содержать поля не в том порядке, как они предусмотрены в таблицах. Это требует определения вида экранной формы, включаемых в нее полей и последовательности их расположения, что может потребовать неоднократного обращения к отдельной таблице для выбора из нее полей.
Накладная на отпуск товара содержит в заголовочной части информацию о собственно накладной, которая находится в таблице Шапка, и информацию о покупателе (таблица Покупатели). В учетной части располагается информация о товарах (таблица Товары) и процессе их отпуска (таблица Отгрузка). Для создания экранной формы накладной необходимо выполнить следующую последовательность действий:
Выбрать в основном окне базы данных вкладку Формы и нажать на кнопку Создать;
Выбрать в диалоговом окне Новая форма опцию Мастер форм и в качестве источника данных таблицу Шапка накладной, поля которой занимают первые места на бланке накладной;
В открывшемся окне диалога Создание форм поместить в список Выбранные поля все поля этой таблицы с помощью кнопки "»";
Для размещения в заголовке информации о покупателе выбрать из списка Таблицы/запросы таблицу Покупатели и поместить в список Выбранные поля все поля таблицы, кроме Код покупателя (это поле уже выбрано из таблицы Шапка накладной);
Далее идет процесс отпуска товаров. Его характеризует информация о товаре (таблица Товары) и информация о количестве отгруженного товара (таблица Отгрузка). Для обеспечения возможности в дальнейшем вводить информацию по покупателям и товарам, используя записи в исходных таблицах, поля Код покупателя и Код товара вводятся из форм, где они имеют вторичные ключи. Код покупателя вводится вместе из таблицы Шапка накладной (вводятся все поля), а Код товара необходимо ввести из таблицы Отгрузка, что предписывает в начале выбрать из таблицы Отгрузка Код товара, потом загрузить таблицу Товары и ввести остальные реквизиты товара, после чего возвратиться к таблице Отгрузка для ввода реквизита Количество отгружено. Порядок ввода реквизитов определяет их порядок в форме накладной;
1. Перейти на вкладку Таблицы и открыть таблицу Покупатели. Ввести произвольно данные по 4-5 контрагентам.
2. Открыть таблицу Товары и ввести произвольно данные по 5-7 товарам.
3. Перейти на вкладку Формы и открыть основную форму. Ввести с помощью экранной формы 9-15 накладных, используя данные, введенные в таблицы Покупатели и Товары.
4. Ввести с помощью экранной формы 4-7 накладных, вводя информацию о покупателях и товарах, отсутствующую в таблицах базы.
5. Перейти на вкладку Таблицы, последовательно открывая таблицы, убедиться, что все введенные с помощью форм данные, включая новых контрагентов и товары, записались в таблицы базы данных.
6. Повторно открыть основную форму. Пользуясь экранной формой, просмотреть введенные накладные. Исправить в одной из накладных количество отгруженного товара на нулевое или отрицательное значение. Убедиться, что предусмотренный в форме контроль действует, выдавая на экран сообщение об ошибке и не давая записать неправильное значение.
Отчеты в СУБД ACCESS могут создаваться на основе таблиц базы данных и на основе запросов. Рассмотрим создание отчета на основе запроса на примере формирования и выдачи на экран (на печать) накладной на отпуск товара как выходного документа.
Для создания запроса необходимо выполнить следующую последовательность действий:
1. Выбрать в основном окне базы данных вкладку "Запросы";
2. Нажать на кнопку Создать в окне базы данных и в окне Новый запрос выбрать режим Простой запрос, в качестве источника данных выбрать таблицу "Шапка накладной";
3. В открывшемся окне диалога поместить в список "Выбранные поля" все поля этой таблицы с помощью кнопки "»";
4.Выбрать из списка Таблицы/запросы таблицу "Справочник покупателей" и поместить в список "Выбранные поля" - все поля таблицы кроме поля "Код покупателя";
5. Выбрать из списка Таблицы/запросы таблицу "Отгрузка" и поместить в список "Выбранные поля" поле "Код товара" этой таблицы;
6. Выбрать из списка Таблицы/запросы таблицу "Справочник товара" и поместить в список "Выбранные поля" все поля таблицы кроме поля "Код товара";
7. Повторно выбрать из списка Таблицы/запросы таблицу "Отгрузка" и поместить в список "Выбранные поля" поле "Количество отгружено" этой таблицы;
8. Сохранить полученный запрос и открыть его в режиме "Конструктор";
9. В окне конструктора запросов на пересечении столбца "Номер накладной" и строки "Условие отбора" поместить в квадратных скобках запись [номера_накладной] (параметр для отбора записей базы данных по номеру накладной);
10. В следующем свободном столбце (после поля "Цена") с помощью построителя выражений поместить формулу для расчета стоимости товара: в строке "Поле" свободного столбца нажать правую кнопку мыши и из появившегося контекстного меню выбрать режим "Построить". В окне построителя выражений в среднем столбце выбрать "Количество" и дважды нажать левую кнопку мыши, в линейке операций выбрать знак умножения "*", в среднем столбце выбрать "Цена" и дважды нажать левую кнопку мыши, закрыть построитель выражений;
11. Сохранить запрос и закрыть окно конструктора запросов;
12. Открыть созданный запрос. В ответ на сообщение "Введите значение номера_накладной", введите "1". Результатом правильно выполненных действий должна быть таблица на экране, столбцами которой являются все отобранные в запросе поля базы данных, и рассчитанное значение стоимости товаров, а строками -все записи базы данных, относящиеся к накладной с номером "1".
6. Все необходимые поля, имеющиеся в таблицах, в создаваемую экранную форму помещены. После нажатия кнопки Далее откроется следующее окно диалога Создание форм. Заголовок накладной является главной ее частью, а параметры отпуска товара – подчиненной. Это указывается выбором режима Подчиненные формы;
Нажатие кнопки Далее выводит диалоговое окно для выбора внешнего вида подчиненной формы (вида учетной части накладной). Рекомендуется выбрать форму Табличный;
Нажимая кнопку Далее, в последующих окнах выбирается стиль, задаются имена главной и подчиненной форм;
Для облегчения работы с формой желательно определить возможность ввода значений, имеющихся в таблицах базы данных, используя ключи этих записей. Для этого созданную форму необходимо открыть в режиме Конструктора для внесения изменений;
Установив курсор в поле Код покупателя, правой кнопкой мыши вызвать контекстное меню и выбрать в нем режим Преобразовать элемент в поле со списком;
В окне свойств поля Код покупателя на вкладке Данные выбрать в качестве источника строк таблицу Покупатели. Оператор при вводе информации о покупателе может выбирать данные о нем из таблицы Покупатели, вводя его код. Подробно данные будут вводиться лишь в том случае, если их не окажется в справочнике базы;
Аналогично преобразуются данные поля Код товара проводим в подчиненной форме, выбирая в качестве источника строк таблицу Товары;
Открыв подчиненную форму в режиме Конструктора, выделить левой кнопкой мыши поле Количество отгружено. В окне свойств этого поля в строке Условие на значение укажем: ">0", в строке Сообщение об ошибке укажем: "Количество отгруженного товара не может быть отрицательным или равным нулю". Это обеспечивает контроль действий оператора и выдачу ему сообщения об ошибке в случае ввода им неправильного значения;
Сохранить внесенные в режиме Конструктора изменения.