В столбце Имя поля указываются имена полей таблицы, а в столбце Тип данных – тип поля (выбирается из раскрывающегося списка).
Ограничимся следующими типами данных: текстовые, числовые, денежные, дата/время.
Текстовый тип данных применяют для тех полей, которые не участвуют в расчетах.
Числовой тип задают числовым данным (например, количество).
Денежный тип задают денежным данным (например, цена, сумма)
Тип дата/время используется для формирования дат.
Рассмотрим некоторые свойства поля:
- Обязательное поле. Если указывается Да, то пустые значения данного поля не допускаются. Ключевое поле всегда обязательное!
- Индексированное поле. Индексы позволяют ускорить поиск записей в больших таблицах. По номеру записи осуществляется прямой доступ к искомой записи в таблице. Для свойства Индексированное поле при наличии простого ключа устанавливается значение Да (Совпадения не допускаются). Для составных ключей из списка выбираются Да (Допускаются совпадения).
Для определения ключевого поля надо сделать поле активным и нажать на панели инструментов кнопку Ключевое поле. Слева от имени ключевого поля появится символ Ключ.Если ключ составной, ключевые поля расположить в начале таблицы и выделить строки с этими полями и нажать на панели инструменов кнопку Ключевое поле. Слева от имени каждого ключевого поля появится символ Ключ.
Для сохранения таблицы закрыть ее, а затем ввести имя. Сохранить таблицу Изделие. Затем последовательно создать структуры таблиц Список заказчиков, список договоров, ТТН, СТТН, ПП, СПП, ЦН, СЦН, справочник единиц измерения.
4.2 Схема данных.
Схема данных в Access строится на основе логической модели, разработанной при проектировании базы данных. В ней определяются и запоминаются связи между таблицами. Эти связи используются при создании форм, запросов, отчетов, а также обеспечивают целостность взаимосвязанных данных при корректировке таблиц.
Для создания схемы данных следует нажать кнопку Схема данных на панели инструментов или выполнить команду Сервис/Схема данных.
Затем в окне Добавлени таблицы открыть на панели объектов Таблицы, выделить Изделие и нажать кнопку Добавить. Также выделить и добавить таблицы список заказчиков, список договоров, список складов, список цехов, спецификация договора, список выпускаемых изделий, справочник единиц измерения, ЦН, СЦН, ТТН, СТТН, ПП, СПП. Закрыть окно Добавление таблицы. На экране появились все выбранные таблицы со списками полей. Таблицы можно перемещать с помощью левой кнопки мыши.
Для создания связи необходимо в главной таблице выбрать поле, по которому устанавливается связь. Затем при нажатой кнопке мыши соединить это поле с соответствующим полем подчиненной таблицы.
При установлении связи между таблицами Заказчик и Договор связь осуществляется по полю Код_зак. После того как намечена очередная связь между таблицами, появляется окно Изменение связей, в котором должен быть определен тип отношения один-ко-многим.
Обеспечение ссылочной целостности данных. Если на связь между таблицами наложены условия ссылочной целостности, то Access не позволит:
- Добавлять в подчиненную таблицу записи с ключом связи, которого нет в записи главной таблицы.
- Изменять значения ключа связи в главной таблице, так как это приведет к изменению ключа связи в записях подчиненной таблицы.
- Удалять запись в главной таблице, если не удалены записи с соответствующим ключом связи в подчиненной таблице.
Эти правила делают невозможным случайное удаление или изменение связанных данных.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует включить режимы каскадного обновления и каскадного удаления.
- При установке флажка Каскадное обновление связанных полей изменение значение в ключевом поле главной таблице приведет к автоматическому обновлению соответствующих записей во всех связанных записях.
- При установке флажка Каскадно удаление связанных записей удаление записи в главной таблице приведет к автоматическому удалению связанных записей в подчиненной таблице.
4.3 Пользовательские формы.
На основе связанных таблиц следует создать составную форму, для этого требуется выполнить следующую последовательность действий:
- Выбрать на панели объектов тип Формы, нажать кнопку Создать формы с помощью мастера.
- В окне Создание форм выбрать из списка таблицу ДОГОВОР, а из нее поля №_ДОГ, КОД_ЗАК, затем выбрать таблицу СПЕЦ-Я ДОГОВОРОВ и перенести поля МЕС_ОТГ, КОД_ИЗД, КОЛ. Нажать кнопку Далее >
- В следующем окне Создание форм проверить правильность размещения выбранных полей, установку переключателя в положение Подчиненные формы, нажать кнопку Далее >.
- Выбрать вид подчиненной формы (поставить флажок). Нажать кнопку Далее > и в следующем окне выбрать стиль. Перейти к следующему окну.
- В последнем окне Создание форм предлагается задать форме имя ДОГОВОР. Проверить наличие флажка Открытие формы для просмотра и ввода данных. Нажать Готово .
Появилась составная форма ДОГОВОР, в которой отражены объединенные данные из таблиц ДОГОВОР и СПЕЦ-Я ДОГ.
По такому же принципу создам формы: цеховая накладная, товарно-транспортная накладная и платежное поручение. Корректировать формы можно с помощью Конструктора форм.
4.4 Ввод данных.
Для ввода данных в таблицы используют формы. После ввода данных через формы будут заполнены и таблицы. Исходные данные можно ввести и непосредственно в таблицы. Данные можно корректировать с помощью форм и непосредственно в таблицах. Если необходимо откорректировать данные в таблицах, то существует возможность:
- Добавить запись в таблицу: открыть таблицу, установить курсор на пустую строку в конце таблицы и ввести значения полей, закрыть таблицу.
- Удалить запись: открыть таблицу, выделить удаляемую запись и нажать клавишу Delete, закрыть таблицу.
- Внести изменения в значение поля: открыть таблицу, установить курсор в поле, внести изменения, если потребуется вернуть прежнее значение, нажать клавишу Esc, закрыть таблицу.
- Изменить порядок следования полей: открыть таблицу, выделить столбец, перенести на новое место (толстая вертикальная черта указывает на то место, где будет находиться поле после перемещения). Эти изменения будут отображаться только при просмотре данных в таблице. Структура таблицы не изменится.
5. Создание алгоритма и запросов.
Перед решением нашей задачи составим подробное описание последовательности действий (алгоритм) для получения выходных документов. Алгоритм можно представить в виде словесного описания или блок-схемы. Составим алгоритм в виде блок-схемы, которая выглядит так:
Для обработки данных в СУБД используются запросы. Запрос можно построить на основе одной или нескольких таблиц и запросов.
Для конечного запроса требуется создать несколько запросов в соответствии с блок-схемой алгоритма решения задачи.
В окне база данных на панели объектов выбрать Запросы, нажать кнопку Создание запроса в режиме конструктора. В появившемся окне Добавление таблицы выбираем необходимые нам таблицы СЦН, ЦН, изделия, склады. Закрываем окно Добавление таблицы. В верхней части окна запроса отображены списки полей выбранных таблиц, а в нижней находится область для формирования запроса (бланк запроса). Так как запрос создается на основе таблиц, в окне запроса отображаются связи, установленные в схеме данных.
Двойным щелчком по любому полю таблицы его можно поместить в бланк запроса. Помещаем в бланк запроса поле НАИМ_ИЗД. Все данные группируются по этому полю, поэтому в строке Групповая операция должно быть установлено значение Группировка (команда Вид \ Групповые операции). Далее выполняем расчет суммы оплаты заказчиков по товарно-транспортным накладным.
Чтобы выполнить вычисление, надо установить курсор в строку Поле и нажать кнопку Построить на панели инструментов. Откроется окно Построителя выражений.
Выражение для вычисления формируется в верхней части окна. Перед выражением задать имя нового поля КОЛ. :. Далее в нижней части окна слева выбираем объект, входящий в выражение, то есть папку Таблицы. Из списка выбираем таблицу СЦН ищем нужное поле КОЛ, вставляем его в выражение. Затем ставим знак умножения и из списка в папке таблицы выбираем таблицу изделия и выбираем поле цена.
Устанавливаем курсор в поле месяца и вызываем Построитель выражений. Выбрать в папке Функции/Встроенные функции категорию Дата/время, а затем функцию DatePart. Нажать кнопку Вставить. Выбрать в папке Таблицы таблицу ЦН, в окне полей таблицы – поле ДАТА_СДАЧИ и нажать кнопку Вставить. Получится выражение Квартал: DatePart("q";ЦН!ДАТА_СДАЧИ). Нажать кнопку OK. Теперь заполняем строку Условие отбора для поля НАИМ_СКЛАДА. Введем параметр [Forms]![Задание 24]![СК]. Теперь щелкаем по значку вывода на экран (V) (убрать значок), так как в выводе на экран поля месяца мы не нуждаемся. После заполнения бланка выполняем запрос с помощью кнопки ! (Запуск) на панели инструментов или команды Запрос/Запуск. \