Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Praktikum_po_informatike_2003_c_uvelichennym_og....doc
Скачиваний:
31
Добавлен:
12.11.2018
Размер:
5.3 Mб
Скачать

§ 7 Создание форм для ввода/редактирования данных в таблицах

Общие сведения о формах

Формы являются специальными окнами (объектами) БД, которые позволяют создать специальные средства ее обслуживания более эффективные, чем при традиционном табличном представлении данных.

Наиболее эффективно формы проявляют себя при вводе и редактировании отдельных записей с большим количеством полей.

Формы могут создаваться различными способами:

  • с помощью мастера форм;

  • с использованием "Автоформы";

  • в ручную (в режиме конструктора).

По характеру использования они создаются для обслуживания:

  • отдельной таблицы;

  • группы взаимосвязанных таблиц;

  • различных запросов.

Система позволяет создавать три (базовых) типа форм:

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

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

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

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

Структура формы.

Форма первого и второго типов содержит несколько разделов, в которых могут размещаться заголовки (текстовые строки), вычисляемые поля, элементы управления – кнопки, поля БД, комментарии, рисунки и другие объекты.

Окно формы соответствует общим стандартам окон системы Windows.

Поле окна формы имеет (как правило) три раздела:

заголовок;

область данных;

раздел примечаний.

Если форма одностраничная (типичный случай), то все разделы равноправны. Если – многостраничная, то заголовок присутствует на каждой странице, а примечание – в конце последней страницы.

Создание форм для связанных таблиц

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

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

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

Мы используем первый вариант т. к. для таблицы «Культуры» нужна форма – формуляр.

Сначала создадим форму для таблицы "Культуры" самым простым способом.

  • Для создания формы откройте БД, если она закрыта и последовательно выполните следующие действия:

  1. Закройте таблицы. Проверьте схему данных и, если она нарушена (что возможно после создания полей со списками), то восстановите ее (см. параграф 5).

  2. В окне БД откройте окно «Формы» и нажмите кн. «Создать».

  3. Появится ДО "Новая форма" с перечнем способов построения. Выделите «Автоформа в столбец». В нижней части окна укажите имя таблицы «Культуры». Нажмите кн. "ОК".

Система сама создаст форму (по своему шаблону или с учетом тех настроек, которые были сделаны при создании предыдущей формы) и выведет ее на экран (см. рисунок 4-3). В форме перечислены все поля (даны их подписи) и справа - окошки для ввода значений. В нижней части находятся кнопки "навигации", с помощью которых Вы можете передвигаться по записям таблицы. Кнопка с символами: "*" позволяет добавить в таблицу новую запись. Вы можете передвигаться по записям таблицы и с помощью клавиш PageUp или PageDown, а внутри записи - клавишами со стрелками. После ввода новых значений или исправления старых - нажимайте Enter.

Рисунок 4-3. Вид формы «Культуры» после создания.

Поработайте с этими кнопками (кроме последней) и закройте таблицу оконной кнопкой. На запрос: "Сохранить изменения макета…" ответьте "ДА" и в следующем окне оставьте имя формы "Культуры".

В окне БД перейдите на вкладку "Формы". Вы увидите там имя созданной формы.

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

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

  • Откройте форму "Культуры" (кн. "Открыть" или 2ЛКМ на имени формы) и введите команду "Вид  Режим таблицы". Вместо формы – "формуляра" будет отображаться форма – таблица. Для удобства работы ее можно распахнуть полностью, изменить ширину столбцов, изменить шрифт и другие свойства макета. Вернитесь в режим формы.

  • Используя эту форму введите еще 3 записи (№ 9, 10, 11) из Error: Reference source not found. Проверьте правильность ввода переходом в режим "таблицы". Если Вы это сделаете сразу, то записи будут неупорядочены по коду группы. Закройте форму, перейдите в окне БД на вкладку "Таблицы", откройте таб. "Культуры". После этого записи уже будут упорядочены (культура "Морковь" займет правильное положение).

Создание формы для таблицы «Группы».

  • Создадим форму для таблицы "Группы" с помощью "мастера":

  1. На вкладке "Формы" в окне БД нажмите кн. "Создать" и в ДО "Новая форма" выберите способ: "Мастер форм".

  2. В нижней части установите источник данных для формы. Откройте список таблиц кнопкой "треугольник" и выберите имя нашей таблицы «Группы», нажмите ЛКМ и имя таблицы появится в строке ввода.

  3. Начнет работать специальная программа мастера. Появится окно «Создание форм». В верхней части (в строке ввода) находится имя нашей таблицы. В нижней - два окна-списка. В левом окне перечислены поля таблицы. Правое окно - пустое.

  4. Нам надо все поля вставить в форму (сделать выбранными), т.е. переместить из левого окна в правое.

  5. Для этого нажмите кн. с символами ">>". Все поля нашей таблицы должны переместиться в правое окно. После этого нажмите кн. "Далее".

  6. Откроется окно второго шага - выбора внешнего вида формы. Включите опцию  «В один столбец» и кн. "Далее".

  7. Откроется окно третьего шага - выбора стиля оформления формы. Установите стиль "Стандартный" ("Обычный") или любой другой (но учтите, что система при этом может использовать другой шрифт и размер полей) и нажмите кн. "Далее".

  8. На четвертом шаге открывается последнее окно с именем формы «Группы», которое мы изменять не будем. Установите опцию  «Открытие формы для просмотра.....» и нажмите кн. "Готово". Система выведет на экран окно формы.

Изменение свойств форм в режиме конструктора

Все элементы, размещенные в форме, называются элементами управления (ЭУ).

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

Поле – основной ЭУ, который присутствует практически в каждой форме.

Другим важным ЭУ считается командная кнопка (КК), которая позволяет выполнить определенную команду или программу, инициализируемую при "нажатии" на кнопку.

И сама форма и каждый ЭУ имеет набор характерных свойств. Свойства объединяются в группы. Количество групп и набор свойств в группах существенно зависят от вида ЭУ.

Поля базовых таблиц в форме наследуют большинство своих свойств. Например, поля "Код группы" и "Един. измер." формы "Культуры" унаследовали свойства "Подстановки" (списки) из соответствующей базовой таблицы. К сожалению, такие свойства, как например, размер (ширина) полей и шрифт система установила по своему усмотрению (по установкам в ДО "Параметры" для режима "Форма таблицы" и по "Общему (обычному) шаблону" для режима "Формы").

Рассмотрим (бегло) тот инструментарий, который позволяет оценить свойства ЭУ, откорректировать некоторые из них, используя разные средства и способы.

  • Откройте форму "Группы", если она закрыта и перейдите любым способом в режим конструктора (например, "Вид  Конструктор"). В этом режиме Вы увидите макет формы с тремя разделами (см. рисунок 4-4). На рисунке показано состояние формы после корректировки ее размера, которую мы выполним позже. Разделы "Заголовок формы" и "Примечание…" – пусты. Если форма не полностью отображается в окне конструктора измените его границы так, чтобы были видны все ее элементы и разделы.

Если отображается только один раздел «Область данных», то введите команду «Вид  Заголовок/Прим. Формы». Обычно в окне системы автоматически выводится панель элементов (ПЭ). Если ее нет, то выполните команду "Вид  Панель элементов".

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

  • Щелкните 2ЛКМ на квадратике, расположенном слева от горизонтальной линейки конструктора или введите команды: "Правка  Выделить форму" и "Вид  Свойства". Откроется окно свойств с 5-ю вкладками (группами свойств). Бегло просмотрите список свойств на вкладках, но пока ничего не меняйте.

Рисунок 4-4. Вид формы "Группы" в режиме конструктора.

  • Если окно свойств загораживает поля в области данных, то сместите окно формы в левый верхний угол так, чтобы поля были доступны для корректировки. Чтобы закрепить это положение и размер (при открытии формы), найдите на вкладке "Макет" свойства "Выравнивание по центру" и "Автоматический размер" и установите опции в значение "Нет".

Добавим в форму заголовок «Группы культур», увеличим немного размеры формы, выделим рамочкой область данных, изменим ширину некоторых полей, шрифт и цвет, т. е. выполним корректировку свойств ЭУ и добавим новые (см рисунок 5 стр. 175).

Для корректировки свойств или местоположения существующих ЭУ – их надо выделить. Для выделения можно включить кнопку "Выбора" ("") на ПЭУ, щелкнуть ЛКМ на пустом поле раздела и затем на нужном ЭУ. Он выделится маркерами. С помощью этих маркеров можно изменить размеры элемента. Для перетаскивания ЭУ в другое место формы надо навести курсор на линию элемента между маркерами, нажать ЛКМ, кода появится "Рука" и (не отпуская ЛКМ) отбуксировать элемент в нужное место.

При корректировке поля надо учитывать, что этот ЭУ состоит из двух частей: «Надписи» и собственно «Поля» (в режиме конструктора в поле отображается имя поля). Они обычно выделяются и перемещаются совместно. Если Вы хотите отделить надпись от поля, то надо зацепить маркер в левом верхнем углу поля или надписи (он имеет больший размер, чем остальные маркеры).

Для выделения группы элементов можно использовать стандартные приемы: придерживать клавишу Shift при выделении или построить курсором – указателем рамку, охватывающую или пересекающую нужную группу элементов. Режим охвата устанавливается в ДО «Параметры» («Сервис  Параметры») на вкладке «Формы и отчеты». Откройте это окно и найдите соответствующие опции. Советуем включить опцию «Пересечение».

  • Для выполнения корректировок изменим немного размер формы в конструкторе. Для этого сначала увеличьте размер самого окна. Затем наведите курсор на верхнюю границу линейки «Примечание формы» до появления двунаправленной стрелки с отрезком в центре и, нажав ЛКМ, отбуксируйте границу вниз. Аналогичную операцию выполните с правой границей поля области данных («стрелки" будут горизонтальными).

  • Щелкните ЛКМ на поле «Код гр.». Откройте окно свойств, если оно закрыто. В этом окне перейдите на вкладку «Все» и убедитесь, что основные свойства (имя, формат, маска и др.) унаследованы из базовой таблицы. Перейдите на вкладку «Макет» и обратите внимание на размеры поля, шрифт и цвет. В принципе мы можем изменять эти свойства, используя эту вкладку, но проще и быстрее это сделать с помощью панели форматирования (ПФ) или через меню "Формат".

  • Измените шрифт поля. Установите Times New Roman, 9, Ж. Затем захватите правый маркер поля и уменьшите ширину поля до трех символов. После этого выделите "Надпись" поля и установите тот же шрифт.

  • Используя групповой выбор, выделите остальные поля и надписи и установите для них тот же шрифт, но обычный. Увеличьте немного размеры полей "Название" и "Обозначение" группы.

  • Оцените Ваши изменения переходом в режим формы. Если какие-то данные не умещаются в окошке поля, то вернитесь в "конструктор" и подкорректируйте размеры. После всех изменений и проверок – вернитесь в режим конструктора.

  • Выделим область данных прямоугольником.

Щелкните мышью на линейке с надписью "Область данных" и введите команду "Правка  Выделить все".

Наведите курсор на границу любого элемента так, чтобы появилась "рука", нажмите ЛКМ и отбуксируйте всю группу немного вправо – вниз. Отпустите ЛКМ и щелкните на пустом месте формы.

На ПЭУ нажмите кнопку с прямоугольником. Установите курсор – крестик в верхний левый угол и постройте прямоугольник, охватывающий все поля (см. рисунок4-5 на стр.155). Самостоятельно подберите для прямоугольника свойства "внешнего" оформления, используя ПФ или окно свойств. По умолчанию система создает прозрачный прямоугольник с "вдавленным" оформлением. Если вы зададите цвет фона, то прямоугольник может скрыть все элементы, находящиеся под ним. Тогда дайте команду «Формат  На задний план».

Оцените свои построения в режиме формы и вернитесь в конструктор.

  • Создадим заголовок формы.

"Оттяните" линейку с "Областью данных" вниз (аналогично "Примечанию…"), открыв область заголовка на 1 – 1.5 квадрата.

Нажмите на ПЭУ кн. "Надпись" (с буквами А) и установите на ПФ шрифт: Arial, 12, Ж, К.

Установите курсор - крестик в левый верхний угол и постройте прямоугольник на 4 – 5 клеток по ширине.

Введите в него надпись: "Группы культур". Если Вы случайно "вышли" из прямоугольника, то выделите его и щелкните внутри мышью, чтобы там появился курсор ввода (мигающая вертикальная черточка).

Если необходимо – откорректируйте размеры надписи, местоположение и другие свойства внешнего представления (по своему усмотрению).

Вставка командной кнопки для открытия формы «Культуры».

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

Для реализации такого режима мы используем специальный элемент управления – командную кнопку (КК).

  • Кнопку вставим в раздел "Заголовок формы" (см. рисунок 5).

Щелкните ЛКМ на пустом месте раздела и нажмите на ПЭ кн. "Кнопка". Курсором постройте в правой части раздела небольшой прямоугольник на 2 – 2.5 квадрата. После отпускания ЛКМ появится кнопка с названием "КнопкаNN", где NN – номер кнопки (возможно, он будет равен 1). Одновременно на экран система выведет первое окна мастера "Создание кнопок".

Установите категорию: "Работа с формой" и в окошке "Действия" определите: "Открыть форму"  кн. "Далее". (Больше мы не будем напоминать о необходимости нажатия на эту кнопку после всех установок в соответствующих окнах).

На втором шаге выберите форму "Культуры".

На следующем шаге – включите опцию  "Открыть форму для отобранных записей"".

На 4-ом шаге – выберите поля для отбора записей: в окнах "Группы" и "Культуры" укажите поле поле "Код_Гр".

На 5-ом шаге – включите опцию  "Текст" и замените надпись на кнопке - на "Культуры".

На последнем шаге измените название (имя кнопки) на "Кн_Культуры" (без пробелов) и нажмите кн. "Готово".

После выхода в конструктор откорректируйте размер, шрифт (Arial, 10, Ж) и местоположение кнопки. Включите окно свойств и обратите внимание: на вкладке "События" в пункте "Нажатие кнопки" стоит сообщение о том, что система сама сгенерировала процедуру обработки данного события – подпрограмму на языке Visual Basic. Если Вы случайно нажмете кн. с точками ("…") в этой строке, то попадете в т. н. среду VBA, где в окне "Form_Группы (Code)" увидите текст процедуры. Ничего там не меняйте и для возврата в СУБД выполните команду "File  Close and Return …".

Рисунок 4-5. Вид формы "Группы" после изменений.

Перейдите в режим "формы" и оцените Ваши построения. Если необходимо – откорректируйте.

  • В режиме "формы" перейдите на 4-ю запись с группой 4 "Овощные двухлетние" и нажмите кн. "Культуры". Система выведет вторую форму с записями по 4-ой группе. Внизу будет указано, что применен фильтр. Введите оставшиеся 3 записи из Error: Reference source not found (код группы вводить обязательно).

  • Самостоятельно отформатируйте форму "Культуры", используя образец, представленный на рисунке 6. Для формы установите свойства макета: "Автоматический размер" – "Нет", "выравнивание по центру" – "Да". Значения надписей и полей внутри окошек выравнивать "по центру".

Окно "Культуры" закрывается стандартной оконной кнопкой.

Рисунок 4-6. Вид окна формы "Культуры" после форматирования.

Попробуйте самостоятельно вставить кнопку для закрытия формы (действие «ЗакрытьФорму»).

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