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

2_Access2007_Формы

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

Макет (Format) в строке Область выделения (Record Selectors)

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

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

Рис. 6. Окно свойств формы

15.В режиме макета возможно удаление и добавление полей в форму. Для удаления поля достаточно выделить его и в контекстном меню выполнить команду Удалить. Для

добавления полей в форму щелкните на кнопке Добавить поля

(Add Existing Fields) на вкладке ленты Формат (Format) в

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

После выполненных изменений макета форма примет вид, показанный на рис. 7. На рисунке выделен один макет в столбик. Выделение макета выполняется щелчком в его левом верхнем углу.

Рис. 7. Форма ТОВАР в режиме макета после доработки

В режиме макета в группе Элементы управления (Controls) на вкладке ленты Формат (Format) представлен усеченный набор элементов (рис. 3). Здесь отсутствуют элементы для создания списка, поля со списком, флажка, переключателя, поля для вычислений, кнопки и т. п. Они доступны только в режиме конструктора (рис. 8).

Рис. 8. Элементы управления, доступные в режиме конструктора

Изменение большинства свойств формы и ее элементов также невозможно в режиме макета.

Работа с данными таблицы в режиме формы

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

1.Для перехода в режим формы из режима макета щелкните на кнопке Режим формы (Form View) в строке состояния или выполните команду Режим формы контекстного меню формы. Если форма закрыта, выберите ее в области переходов в группе Формы (Forms) и в контекстном меню нажмите кнопку

Открыть (Open).

2.Просмотрите записи таблицы ТОВАР, используя стандартные кнопки панели перехода по записям внизу формы или команды в списке кнопки Перейти (Go To) на вкладке ленты Главная (Home) в группе Найти (Find). Измените некоторые значения в полях записи.

3.Для создания новой записи в таблице ТОВАР сделайте текущей

новую запись, воспользовавшись кнопкой на панели перехода по записям или кнопкой Создать (New) на вкладке ленты Главная (Home) в группе Записи (Records), и введите значения в поля формы. Значения, вводимые в поля формы, должны соответствовать типам данных и их свойствам, заданным при определении структуры таблицы.

Для завершения создания (редактирования) записи таблицы достаточно перейти к другой записи или выполнить команду Сохранить (Save) на вкладке ленты Главная (Home) в группе Записи (Records). Запись может быть сохранена только при условии ввода значений ключевых полей таблицы, а также полей, которые были определены в свойствах поля как обязательные.

4.Чтобы удалить запись, выделите ее, щелкнув на области выделения в левой части области данных формы или выполнив команду Выбрать | Выделить (Select|Select) в группе Найти

(Find), и выполните команду Удалить (Delete) в группе Записи

(Records).

5.Закройте форму. Откройте таблицу ТОВАР и убедитесь, что все сделанные изменения внесены в таблицу.

Задание 1. Создание однотабличной формы

Создайте однотабличную форму для работы со справочником покупателей, отредактируйте ее в режиме макета и произведите добавление записей в таблицу. Если в базе данных Поставка товаров, выбрав таблицу ПОКУПАТЕЛЬ, для создания формы использовать команду Форма (Form), автоматически будет создана форма, содержащая встроенную подчиненную таблицу ДОГОВОР. Источником записей главной формы будет таблица ПОКУПАТЕЛЬ. Такое поведение команды Форма вызвано тем, что таблица ПОКУПАТЕЛЬ имеет единственную подчиненную таблицу ДОГОВОР, с которой она находится в отношениях 1 : М, и эта связь определена в схеме данных. В главной форме будет отображаться запись таблицы ПОКУПАТЕЛЬ, а в подчиненной связанные с ней записи из таблицы ДОГОВОР.

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

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

Создание формы на основе запроса

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

Пусть в базе данных создан запрос, выбирающий из таблицы НАКЛАДНАЯ все накладные, по которым производилась отгрузка в заданном месяце. В вычисляемом поле месяца задано имя параметра — [Номер месяца] и запрос сохранен под именем Накладные месяца

(рис. 9).

Рис. 9. Запрос для выборки накладных, выписанных в заданном месяце

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

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

(Form), Разделенная форма (Split Form) или Несколько элементов

(Multiple Items) (см. рис. 1), размещенных в группе Формы (Forms) на вкладке ленты Создание (Create).

Выделив запрос в области переходов, щелкните на кнопке Несколько элементов (Multiple Items). В результате выполнения этой команды откроется диалоговое окно. Введите значение параметра (Enter Parameter Value). Введите номер месяца, например, 3. Форма откроется в режиме макета и отобразит записи, соответствующие значению параметра (рис. 10).

Рис. 10. Форма, полученная по команде Несколько элементов

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

Сохраните форму, воспользовавшись командой контекстного меню формы, и закройте ее.

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

Для построенной формы открыт режим ввода новых записей. Очевидно это находится в противоречии с заданным условием отбора, поэтому в режиме макета целесообразно открыть Страницу свойств (Property Sheet) формы и на вкладке Данные (Data) в строке Разрешить добавление (Allow Additions) выбрать значение Нет. После изменения свойства в форме не будет отображаться строка новой записи, а также померкнет соответствующий значок на панели перехода по записям и кнопка Создать (New) в группе Записи (Records) на вкладке ленты Главная (Home). В приведенном примере добавление новой записи

вообще невозможно, т. к. в форме не представлено обязательное поле вторичного ключа — номер договора.

Создание разделенной формы

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

Расположение таблицы в верхней или нижней части окна разделенной формы определяется в свойстве формы Ориентация разделенной формы (Split Form Orientation). Помимо значений Таблица сверху (Datasheet on Top), Таблица снизу (Datasheet on Botton) свойство может принимать значения Таблица слева (Datasheet on Left) и Таблица справа (Datasheet on Right). По умолчанию таблица размещается в нижней части окна разделенной формы. Изменить значение этого свойства можно только в режиме конструктора.

Создайте однотабличную разделенную форму для работы с данными таблицы ТОВАР.

Выберите таблицу ТОВАР в области переходов и выполните команду

Разделенная форма (Split Form) на вкладке ленты Создание (Create) в

группе Формы (Forms). Эта команда обеспечит автоматическое создание формы на основе только одной выбранной таблицы. Созданная форма отобразится в режиме макета.

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

Если в вашей базе данных существуют формы, основанные на одной таблице или запросе, совсем не обязательно создавать разделенную форму с тем же источником данных заново, достаточно изменить свойство этой формы Режим по умолчанию (Default View). В нашей базе данных ранее была создана форма ТОВАР для просмотра и изменения сведений о товарах. Откройте форму в режиме конструктора. Для этого выберите ее в области переходов, и в контекстном меню выполните команду Конструктор (Design View). На вкладке ленты Конструктор (Design) в группе Сервис (Tools) выполните команду Свойства страницы (Property Sheet). Измените значение свойства

формы Режим по умолчанию (Default View) с Одиночная форма

(Single Form) на Разделенная форма (Split Form).

Разделенная форма ТОВАР, доработанная в режиме макета, представлена на рис. 11.

Рис. 11. Форма, созданная по команде Разделенная форма и отредактированная в режиме макета

Вычисления в форме

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

Вычисления в каждой записи формы

Чтобы произвести вычисления на основе данных каждой записи формы, необходимо создать вычисляемый элемент управления, источником данных которого является выражение для расчета, а не поле. Для создания вычисляемого элемента управления откройте форму в режиме конструктора. Нажмите в группе Элементы управления (Controls) кнопку Поле (Text Box) и разместите этот свободный элемент управления в нужном месте области данных. Затем введите выражение в элемент управления Свободный(Unbound). Выражение должно начинаться со знака равенства (=). В качестве операндов выражения чаще всего используются имена полей и константы, а в качестве операторов — знаки арифметических операций.

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

=[ЦЕНА]+[ЦЕНА]*[СТАВКА_НДС]

В связанную с полем надпись запишите: Цена с НДС.

Выражение будет введено в свойство созданного элемента управления

Данные (Control Source), размещенное на вкладке Данные (Data).

Измените формат поля, выбрав на вкладке Макет (Format) в списке свойства Формат поля (Format) значение Денежный (Currency).

Используйте Формат по образцу (Format Painter) для оформления нового элемента в стиле всех других элементов.

Форма в режиме конструктора и режиме просмотра, полученная после создания вычисляемого поля, приведена на рис. 12 и 13.

Рис. 12. Форма с вычисляемым полем в режиме конструктора

Рис. 13. Форма с вычисляемым полем в режиме просмотра

Создание вычисляемого поля в форме аналогично созданию такого поля в запросе.

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