Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2_Access2007_Формы

.pdf
Скачиваний:
33
Добавлен:
02.04.2015
Размер:
2.34 Mб
Скачать

режиме макета и отобразится область Список полей (Field List). В списке перечислены все таблицы базы данных, и предоставляется возможность открыть список полей каждой из них.

Создание одиночной формы следует начинать с включения полей подчиненной таблицы. Эта таблица определит набор записей, отображаемых через форму, ее запись станет основой для образования записи формы. Далее можно добавлять поля из главных по отношению к ней таблиц, в которых представлены описательные данные.

В области Список полей (Field List) откройте список полей таблицы НАКЛАДНАЯ, щелкнув знак "плюс" (+) рядом с ее именем. Добавьте в форму необходимые поля. Далее последовательно добавляйте поля из таблиц ДОГОВОР, ПОКУПАТЕЛЬ и СКЛАД.

Чтобы добавить поле к форме, дважды щелкните его или перетащите в форму. Если необходимо добавить сразу несколько полей, щелкните их последовательно, удерживая нажатой клавишу <Ctrl>. Затем перетащите выбранные поля в форму. Для отображения каждого поля Access создает в форме соответствующий элемент управления и привязывает его к полю. Кроме того, для элемента управления создается присоединенная подпись.

После добавления полей из всех таблиц область Список полей примет вид, показанный на рис. 23.

Рис. 23. Область Список полей при создании одиночной формы Накладная

Если при добавлении поля некоторой таблицы обнаруживается, что эта таблица не связана с таблицей, поля которой уже включены в форму, будет выведено окно для определения связи между ними. На рис. 24

показано такое окно при добавлении поля из таблицы ПОКУПАТЕЛЬ в случае, когда в форму уже включены поля из договора, а в схеме данных отсутствует связь между таблицами.

Рис. 24. Определение связи между таблицами при создании одиночной формы Накладная

На основе выбранных таблиц и их полей автоматически создается источник записей формы — запрос на выборку. В этом запросе устанавливаются и созданные при перетаскивании полей в форму связи между таблицами.

Просмотреть и изменить запрос, являющийся источником записей формы, в графическом представлении можно по команде Изменение источника записи (Edit Record Source) контекстного меню области Список полей (Field List). Соответствующую инструкцию SQL можно просмотреть в свойстве формы Источник записей (Record Source), представленном на вкладке Данные (Data). При последующих добавлениях полей из списка источник записей корректируется автоматически.

Пользуясь инструментами группы Элементы управления (Controls) на вкладке Работа с макетами форм|Формат (Form Layout Tools | Format),

добавьте в форму эмблему компании, заголовок, дату и время. Сохраните форму под именем Накладная_одиночная.

Форма, построенная с помощью инструмента Пустая форма (Blank Form), представлена на рис. 25.

Рис. 25. Форма Накладная_одиночная, созданная с помощью инструмента Пустая форма

Ограничения доступа к данным через форму

Защита данных поля от изменений

Для защиты данных поля от изменения используется свойство Блокировка (Locked). Блокировка может быть установлена для любого поля формы. Чтобы защитить поле, надо открыть форму в режиме макета или конструктора, установить курсор в его рамке и с помощью контекстно-зависимого меню вызвать свойства поля. В окне свойств на вкладке Данные (Data) в строке Блокировка (Locked) выбрать Да (Yes). По умолчанию для всех полей в свойстве Блокировка (Locked) устанавливается значение Нет (No). После установки этого свойства поле доступно только для чтения.

Установка ограничений на корректировку записей через форму

Для того чтобы при работе через форму записи были доступны только для чтения, следует в свойствах формы на вкладке Данные (Data) (рис. 26) в строках Разрешить добавление (Allow Additions),

Разрешить удаление (Allow Deletions) и Разрешить изменение (Allow Edits) задать значения Нет (No). Сделать записи доступными только для чтения можно также, выбрав для свойства Тип набора записей

(Recordset Type) значение Статический набор (Snapshot). Указанные свойства могут устанавливаться независимо друг от друга. Например, при запрете на изменение записей могут быть разрешены добавление и удаление записей.

Рис. 26. Установка ограничений на корректировку записей

Замечание

Свойство формы Блокировка записей (Record Locks) определяет способы блокировки записей при попытке двух пользователей одновременно изменить записи в некотором наборе записей сетевой базы данных. Когда один пользователь изменяет запись, автоматически может блокироваться только изменяемая запись или все записи набора.

При этом другие пользователи не могут изменять или только одну запись или весь набор до завершения работы с ней первого пользователя.

Свойство Ввод данных (Data Entry) при значении Да определяет режим формы, при котором разрешен только ввод новых записей, просмотр существующих записей при этом не доступен. При открытии формы выводится пустая запись, с которой можно начать ввод новых записей. С вновь введенными записями можно выполнять все разрешенные действия: удалять, изменять их. При новом открытии формы снова делается доступным только режим ввода новых записей.

Защита данных подчиненной формы от изменений

Защитить содержимое всех полей подчиненной формы, сделав его доступным только для чтения, позволяет свойство Блокировка (Locked), установленное для подчиненной формы.

Чтобы защитить данные подчиненной формы от изменений надо выделить соответствующий элемент, открыть его свойства. В окне свойств выбрать вкладку Данные (Data). В строке Блокировка (Locked) выбрать Да (Yes). При этом станет невозможным изменение, добавление и удаление данных в полях подчиненной формы. Кроме того, станет невозможным добавление новых записей.

Установка для свойства Доступ (Enabled) значения Нет приводит не только к запрету на любые изменения, но и невозможности перемещаться по записям, просматривать записи за пределами рамки подчиненной формы.

Разработка интерфейса для ввода, просмотра и корректировки документов

Основным средством создания интерфейса для работы с документами являются формы. С помощью средств разработки форм могут быть созданы электронные аналоги документов, обеспечен просмотр и выборка документов, введенных в базу данных. Формы используются и в процессе оформления документов на компьютере, например договоров, накладных на получение и отпуск товара, счетов на оплату, платежных поручений и т. д. Процесс подготовки и ввода документа, как правило, сопровождается последующей распечаткой его средствами отчетов.

Этапы разработки интерфейса

На первом этапе процесса создания базы данных определяется структура таблиц. После этого возможен ввод данных в таблицы.

Технология создания целостной базы, в которой между таблицами установлены связи и определены параметры поддержания целостности, предполагает упорядочение первоначальной загрузки взаимосвязанных таблиц. Технология поддержания такой базы данных в актуальном состоянии требует обеспечения процесса ввода оперативных данных и обновления существующих данных. При этом должен быть разработан удобный интерфейс пользователя и важнейший аспект технологии работы с базой данных — однократный и корректный ввод взаимосвязанных данных. Использование экранных форм — электронных аналогов первичных документов, являющихся источниками для загрузки справочных, плановых и оперативных учетных данных — позволяет решить эти задачи.

Прежде чем вводить, отображать или корректировать данные таблиц через экранную форму, надо спроектировать и сконструировать ее. Далее рассматриваются основы проектирования форм для построения удобного интерфейса пользователя. Подробно описана технология разработки формы, обеспечивающей первоначальный ввод, просмотр и обновление документов в базе данных.

В процессе разработки технологии загрузки базы данных и проектирования форм целесообразно определить:

перечень документов-источников, содержащих необходимые данные для загрузки таблиц базы данных;

таблицы — объекты загрузки для каждого документа-источника;

содержание и последовательность загрузки; при этом необходимо учитывать, что для обеспечения связной целостности, главные таблицы должны быть загружены ранее подчиненных;

подсхему данных каждой формы (фрагмент схемы данных), состоящую из таблиц, необходимых для создания электронного документа. При этом для многотабличной (составной) формы выбирается:

таблица, которая будет базовым источником записей главной формы, и таблицы для отображения справочных данных в этой части формы;

таблица, которая будет источником записей подчиненной формы, включаемой в главную форму, и таблицы для отображения справочных данных в подчиненной форме;

макет формы, т. е. ее общую структуру, в соответствии со структурой документа-источника и полученной подсхемой данных. При этом распределяется пространство формы для размещения включаемых подчиненных форм;

состав и размещение элементов, связанных с полями таблиц, и надписей для каждой из частей составной формы. При этом:

в главную форму обязательно надо вводить ключевые поля таблицы-источника данных (например, идентификатор документа "Договор" — номер договора);

в подчиненной форме предусмотреть только те ключевые поля таблицы — базового источника подчиненной формы, которых нет в таблице-источнике главной формы (например, код товара из спецификации документа "Договор").

После выполнения перечисленных пунктов и получения макета формы можно приступить к ее разработке средствами Access.

Определение последовательности загрузки таблиц с документов

При разработке форм, обеспечивающих загрузку взаимосвязанных таблиц базы данных, следует иметь в виду требования к последовательности загрузки записей в таблицы в соответствии со схемой данных и установленными параметрами поддержания целостности. Эти требования можно сформулировать следующим образом:

независимо могут создаваться записи таблиц, которые не подчинены каким-либо другим таблицам в схеме данных;

запись таблицы, подчиненной каким-либо другим таблицам, может создаваться при наличии связанных с ней записей в главных таблицах; записи главной таблицы должны быть загружены ранее (таблицы справочных данных) или должны создаваться вместе с подчиненной записью в одной форме.

В соответствии с этими требованиями в практических приложениях необходимо предусмотреть сначала ввод в базу данных справочных данных, а затем данных плановых и оперативно учетных документов.

Таблицы с плановыми и оперативно-учетными данными в схеме данных являются подчиненными по отношению к таблицам справочных данных, которые находятся на верхнем уровне.

Рассмотрим технологию загрузки на примере базы данных Поставка товара, схема данных которой была показана в пособии Создание реляционной базы данных и запросов. Там же представлены документы автоматизируемой предметной области — источники загрузки базы данных.

Определим объекты загрузки базы данных — взаимосвязанные таблицы, подлежащие загрузке с каждого документа предметной области, и последовательность их загрузки.

Справочная информация

Для документов справочной информации в базе данных Поставка товаров следует выделить следующие объекты загрузки:

таблица ТОВАР. Загрузка этой таблицы производится из документа "Справочник товаров", содержащего перечень товаров поставляемых фирмой;

таблица СКЛАД. Загрузка этой таблицы производится из документа "Справочник складов", содержащего перечень складов фирмы;

таблица ПОКУПАТЕЛЬ. Загрузка этой таблицы производится из документа "Справочник покупателей", содержащего перечень покупателей фирмы.

Таблицы справочной информации ПОКУПАТЕЛЬ, ТОВАР, СКЛАД на схеме данных находятся на верхнем уровне и не подчинены другим таблицам, поэтому их загрузка производится в любой последовательности.

Плановая информация

Из документа "Договор", содержащего условно постоянную плановую информацию, целесообразно единовременно вводить не только общие сведения о договоре, но и данные о плановых поставках по договору. В соответствии с этим следует выделить единый объект загрузки: таблицы ДОГОВОР — ПОСТАВКА_ПЛАН. Загрузка записей этих таблиц производится одновременно из документа "Договор", что обеспечит формирование взаимосвязей записей этих таблиц. При этом обеспечивается однократный ввод значений идентификатора договора НОМ_ДОГ для всех товаров документа.

Загрузка таблицы ДОГОВОР может производиться после загрузки таблицы ПОКУПАТЕЛЬ, т. к. таблица ДОГОВОР в схеме данных подчинена таблице ПОКУПАТЕЛЬ.

Загрузка таблицы ПОСТАВКА_ПЛАН может производиться только после загрузки таблиц ДОГОВОР и ТОВАР, т. к. таблица ПОСТАВКА_ПЛАН подчинена этим таблицам.

Оперативно-учетная информация

Из документа "Накладная", как и в предыдущем случае, целесообразно единовременно вводить общие сведения о накладной и данные об отгрузках товара по накладной. В соответствии с этим следует выделить единый объект загрузки: таблицы НАКЛАДНАЯ — ОТГРУЗКА. Загрузка записей этих таблиц производится одновременно из документа "Накладная", что обеспечит формирование взаимосвязей записей этих таблиц. При этом осуществляется однократный ввод значений идентификатора накладной — НОМ_НАКЛ и КОД_СК для всех отгружаемых по накладной товаров.

Загрузка таблицы НАКЛАДНАЯ может производиться только после загрузки таблиц ДОГОВОР и СКЛАД, т. к. таблица НАКЛАДНАЯ в схеме данных подчинена этим таблицам.

Загрузка таблицы ОТГРУЗКА может производиться только после загрузки таблиц НАКЛАДНАЯ и ТОВАР, т. к. таблица ОТГРУЗКА подчинена этим таблицам.

Замечание

Загрузка таблицы СКЛАД может быть осуществлена и после загрузки данных по договорам, поскольку не по каким путям в схеме данных таблицы ДОГОВОР и ПОСТАВКА_ПЛАН не подчинены таблице СКЛАД.

Таким образом, в результате определена последовательность этапов загрузки базы данных Поставка товаров, а также объекты загрузки на отдельных этапах и соответствующие документы-источники данных. Технология загрузки базы данных Поставка товаров обобщена в табл. 1.

Таблица 1. Технология загрузки базы данных Поставка товаров

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]