Главная / Банки и базы данных / Использование форм для ввода и редактирования данных

Использование форм для ввода и редактирования данных

ЛАБОРАТОРНАЯ РАБОТА № 3

1. ЦЕЛЬ РАБОТЫ

1. Изучение принципов проектирования форм.

2. Изучение принципов использования различных элементов управления.

2. МАСТЕР ФОРМ

Рассмотрим использование мастера для создания однотабличной формы. Форма, созданная с помощью мастера, предназначена для просмотра и модификации данных таблиц Visual FoxPro. Эта форма содержит ряд кнопок для выбора режима просмотра, редактирования, печати данных.

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

1. Выполнить команду File | New.

2. Далее выбрать опцию Form и нажать кнопку Wizard.

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

4. Теперь необходимо выбрать таблицу и поля этой таблицы, которые будут размещены на форме. Для выбора базы данных и таблицы используются два списка, расположенные в области Data-bases and tables.

5. После выбора таблицы список Available fields содержит имена всех полей открытой таблицы. Необходимо из данного списка перенести в список Selected Fields поля, которые будут помещены на форму. Кнопка Next служит для перехода к следующему шагу.

6. Теперь необходимо установить стиль отображения объектов формы и типы кнопок управления. Список Style содержит девять различных вариантов отображения объектов (полей, линий, заголовков и т. д.) в форме. Опции переключателя Button Type позволяют выбрать тип отображения кнопок управления.

7. На третьем шаге указывается критерий сортировки данных. Сортировка осуществляется по полям, перечисленным в списке Selected Fields. Опции Ascending и Descending определяют, по возрастанию или по убыванию будут упорядочиваться данные в выбранном поле.

8. В заключение можно задать заголовок формы в поле Type a title for your form и выбрать один из возможных вариантов продолжения работы над формой:

Save form for later use – сохранить созданную форму;

Save and run form – сохранить созданную форму и запустить ее на выполнение;

Save form and modify it in the Form Designer – сохранить форму и открыть ее в конструкторе форм для модификации.

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

3. КОНСТРУКТОР ФОРМ

3.1. Разработка форм

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

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

1. Выполнить команду File | New, выбрать опцию Form и нажать кнопку New File.

2. В командном окне набрать команду CREATE FORM.

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

Панель инструментов Form Controls используется для размещения объектов в форме. Краткое описание кнопок этой панели приведено в табл. 3.1.

Таблица 3.1.

Панель инструментов Form Controls

Наименование

Назначение

1

2

Select Objects

Указатель выделения

View Classes

Выбирает класс для создания объектов в форме

Label

Текстовый объект

Text Box

Поле ввода

Edit Box

Поле редактирования текста

Command Button

Кнопка

Option Group

Переключатель

Check Box

Флажок

Grid

Таблица

Combo Box

Поле ввода со списком

List Box

Список

Spinner

Поле ввода значения

Line

Линия

Shape

Контур

Container

Контейнер

Image

Рисунок

Command Group

Группа кнопок

Timer

Таймер

Page Frame

Страница

OLE Bound Control

Отображает содержимое OLE-объекта, хранящегося в поле типа General

OLE Container Control

Создает OLE-объект

Separator

Создает разделитель – объект, формирующий промежутки между элементами управления на панели инструментов

HyperLink

Гиперссылка

Builder Lock

Закрепляет выбор построителя

Button Lock

Закрепляет выбранную кнопку на панели инструментов

Панель инструментов Form Designer содержит кнопки вызова панелей инструментов Form Controls, Color Palette, Layout, а также выполняет некоторые дополнительные функции управления формой. Краткое описание кнопок данной панели инструментов приведено в табл. 3.2.

Таблица 3.2.

Кнопки панели инструментов Form Designer

Наименование

Назначение

Set Tab Order

Переключает конструктор форм в режим установки порядка обхода объектов формы

Data Environment

Окно определения среды окружения

Code Window

Окно просмотра исходного кода формы

Color Palette Toolbar

Панель инструментов ColorPalette

Form Builder

Построитель экрана

Properties Window

Окно свойств

Form Controls Toolbar

Панель инструментов Form Controls

Layout Toolbar

Панель инструментов Layout

Auto Format

Построитель автоформата для выбранных объектов формы

Можно облегчить первоначальное размещение полей и текста в форме, используя Form Builder (построитель форм) в окне конструктора форм.

Для запуска построителя форм используется команда Builder контекстного меню. Form Builder содержит две вкладки: Field Selection – выбор полей, которые будут размещены в форме, Style – задание стиля отображения формы.

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

3.2. Создание окружения

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

Любая форма имеет встроенный объект Data Environment, доступ к которому возможен из меню View | Data Environment или из контекстного меню Data Environment после щелчка правой кнопкой мыши на форме. В любом случае открывается диалоговое окно Data Environment, в которое можно добавить таблицу, представление или курсор.

3.3. Размещение объектов на форме

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

1. Выбрать объект на панели Form Controls.

2. Установить указатель мыши на место предполагаемого расположения текстового объекта и, удерживая кнопку мыши в нажатом состоянии, переместить курсор по диагонали так, чтобы получилась рамка требуемого размера.

3. Установить соответствующие свойства объекта.

4. Определить соответствующие методы объекта.

3.4. Текстовые поля

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

Текст задается в свойстве Caption, тип шрифта, размер и цвет символов устанавливаются с помощью свойств FontName, FontSize и ForeColor, соответственно.

3.5. Поля ввода и редактирования

3.5.1. Поля ввода

Поля ввода (объект Text Box) могут использоваться для отображения и ввода значений в поля таблицы. Чтобы связать его с полем таблицы, необходимо в свойстве ControlSource указать имя поля открытой таблицы.

Установка свойства Alignment позволяет задать способ выравнивания информации, отображаемой в поле.

Для задания стиля и цвета рамки поля используются свойства BorderStyle и BorderColor, а для определения цвета фона неактивного поля – свойство DisabledBackColor.

Свойства FontName и FontSize определяют тип и размер шрифта, а ForeColor – цвет информации в поле ввода.

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

Для определения значения поля по умолчанию используется свойство Value.

3.5.2. Поля редактирования

Поля редактирования Edit Box очень удобны для редактирования символьных полей большого размера и Memo-полей.

Поскольку поле редактирования предназначено для просмотра и редактирования полей большого размера, в правой части поля расположена полоса прокрутки, предназначенная для просмотра информации, не поместившейся в окне просмотра. Отличительной особенностью поля редактирования по сравнению с полем ввода является наличие у него свойства ScrollBars. Это свойство может принимать два значения: None – полоса прокрутки отсутствует; Vertical – поле имеет вертикальную полосу прокрутки;

Остальные свойства поля редактирования аналогичны свойствам поля ввода и описаны выше.

3.6. Кнопки управления

Для создания кнопок управления используется инструмент Command Button. На кнопке можно расположить текст или графическое изображение. При размещении текстовой информации корректируется свойство Caption, для размещения графического изображения используется свойство Picture.

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

Для определения текста необходимо в окне свойств объекта выбрать Click Event. На экране откроется окно процедур, куда помещаются команды, которые должны выполняться при нажатии на данную кнопку. Например, при нажатии на кнопку выхода из формы на экран будет выдаваться запрос о том, хотим ли мы действительно выйти из формы (при утвердительном ответе форма будет закрыта):

* Запрашиваем и выходим, если «Да»

IF MessegeBox(«Выйти из формы?», 4+32+256, «Выход») = 6

_screen. ActiveForm. Release()

ELSE

_screen. ActiveForm. Refresh()

ENDIF

3.7. Флажки и переключатели

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

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

Для связывания флажка с полем таблицы используется свойство ControlSource. В нем задается в качестве значения имя поля таблицы.

Объекты типа Option Group (переключатели) позволяют выбрать одно из нескольких значений поля или переменной. Option Group являются составными объектами, содержащими внутри себя элементы, наделённые собственными свойствами.

Рассмотрим создание переключателя для просмотра и редактирования поля TypePay (Вид оплаты) таблицы Ordsalem (Заказы и продажи), которое может принимать одно из значений: «Наличные», «Безналичные», «Бартер», «Кредитная карточка», «В рассрочку». Необходимо выполнить следующую последовательность действий:

1. Разместить на форме инструмент Option Group.

2. В окне свойств скорректировать свойство Button Count, задав количество опций равным 5.

3. Скорректировать свойство ControlSource, задав имя поля TypePay.

4. В раскрывающемся списке объектов в верхней части окна Properties выбрать первую опцию переключателя Option1, скорректировать свойства Caption, ForeColor, BackColor, FontName, определяющие заголовок, цвет шрифта, цвет фона и вид шрифта.

5. Аналогично скорректировать свойства для остальных объектов.

Теперь при редактировании заказов и продаж в поле TypePay Таблицы Ordsalem Будет заноситься значение, которое вы установите с помощью переключателя.

3.8. Списки

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

Различают два вида списков: List Box и Combo Box. Оба списка имеют одинаковые свойства, но Combo Box, в отличие от List Box, не занимает много места в форме.

Тип источника данных определяется свойством RowSourceType, допустимые значения которого приведены в табл. 2.3.

Таблица 2.3

Допустимые значения свойства RowSourceType

Значение

Источник данных

1

2

None

Элементы списка определяют программно, используя методы Addltem — или AddListItem

Value

Список задается в виде строки, элементы в которой разделяются запятыми

Alias

В качестве источника данных используется таблица. Количество выводимых полей таблицы определяется значением свойства ColumnCount

SQL Statement

Список содержит данные, полученные в результате выполнения SQL оператора

Query

Список содержит данные, полученные в результате выполнения указанного запроса. Запрос задается именем файла с расширением. qpr

Array

Источником данных является заданный массив

Fields

Значения элементов списка определяются полями таблицы

Files

Перечень файлов текущего каталога. Можно задать в свойстве RowSource шаблон выбора файлов

Structure

Источник данных – структура таблицы

Popup

Список содержит пункты всплывающего меню

Списки используют свойства, размещенные в табл. 2.4.

Таблица 2.4

Свойства и методы объектов типа List Box

Свойства

Назначение

ColumnCount

Число столбцов в списке

ColumnWidths

Ширина столбцов

ControlSource

Источник данных, с которым связан объект

FirstElement

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

IncrementalSearch

Определяет, позволяет ли объект последовательный поиск

MultiSelect

Определяет множественный выбор в списке

NumberOfElement

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

RowSource

Указывает источник данных списка

Рассмотрим создание списка для редактирования поля Country (Страна) таблицы Customer, которое может принимать одно из значений, заданных в поле CountryName таблицы Countrys.

Добавим в окружение формы таблицу Countrys с наименованиями стран. Затем разместим на форме инструмент Combo Box. Чтобы связать созданное поле с полем таблицы Customer, свойство ControlSource устанавливаем равным Customer. Country.

Далее корректируем свойство RowSourceType, устанавливая его равным Fields, поскольку список стран находится в таблице. И в заключение свойство RowSource устанавливаем равным Countrys. Country.

Теперь при редактировании списка покупателей в поле Country таблицы Customer будет заноситься значение, выбираемое из списка.

3.9. Графические изображения и объекты типа General

3.9.1. Графические изображения

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

Установив данный объект на форме, в свойстве Picture необходимо указать имя BMP-файла.

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

3.9.2. Объекты типа General

Размещение графического поля типа General рассмотрим на следующем примере. Допустим, имеется таблица Goods (Товары), которая содержит поле данного типа с изображением товара.

Для добавления графического поля типа General в форму необходимо:

1. Разместить на форме инструмент OLE Bound Control.

2. Связать данный объект с полем таблицы, установив в свойстве ControlSource значение, равное имени поля типа General таблицы Goods.

4. ЗАПУСК ФОРМЫ НА ВЫПОЛНЕНИЕ

Созданная в Visual FoxPro форма не требует генерации программных кодов. Она сразу готова для выполнения.

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

1. Выполнить команду Form | Run Form.

2. Выполнить команду Run Form всплывающего меню.

3. Нажать кнопку Run на стандартной панели инструментов Visual FoxPro.

Кроме того, форму можно запустить так же, как и любую программу, выполнив команду меню Program | Do.

5. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

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

Кроме этого создать форму, с помощью которой можно создавать и выполнять простые SQL-запросы. Запрос формируется следующим образом, например, в переменной S создается список полей таблиц, разделенных запятыми, для предложения SELECT SQL-запроса, в переменной F – список таблиц для предложения FROM, в переменной W – условие выборки для предложения WHERE. Выполнение SQL-запроса можно осуществить в обработчике нажатия кнопки следующим образом:

SELECT &S

FROM &F

WHERE &W

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

6. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. С помощью какого инструмента можно быстро создать шаблон формы?

2. Для чего нужна настройка среды окружения?

3. Из последовательности каких действий состоит размещение элементов управления на форме?

4. Какие свойства объектов обычно устанавливаются для связи с таблицами?

5. Для каких полей обычно используется поле редактирования?

6. Чем отличаются элементы управления List Box и Combo Box?

7. Как запустить форму на выполнение?

Оставить комментарий