Лабораторная работа N7 "FoxPro. Создание форм"

advertisement
Лабораторная работа № 7
Тема: Создание многотабличных форм.
Цель работы: Освоить команды и режимы по созданию экранных форм и
вводу данных в таблицы базы данных Visual FoxPro.
Задание к лабораторной работе
Часть 1
-
Создание многотабличной формы для ввода данных
с помощью мастера Form Wizard
Порядок работы:
1. В Главном меню выбрать пункт File и в нем команду Open. В открывшемся
диалоговом окне открыть нужный диск (I:\), а в нем папку Son. Выбрать тип файла
File Type – Project, затем выделить имя проекта Project1.pjx (или заданное вами имя
проекта) и нажать кнопку Ok.
2. В окне диспетчера проектов перейти на вкладку Documents (Документы), выделить
тип файла – Forms (Формы) и нажать кнопку New. В окне New Form выбрать опцию
мастер форм Form Wizard.
3. На экране открывается диалоговое
окно
Wizard Select (Выбор мастера),
предназначенное для выбора мастера создания формы. Выбрать мастер создания
многотабличной формы One-to_Many Form Wizard (Мастер формы с отношением
«один-ко-многим») и нажать кнопку Ok.
4. В области Databases and tables (Базы данных и таблицы) выбрать главную таблицу
формы Stud. После выбора таблицы в списке Available fields (Имеющиеся поля)
появится перечень всех полей данной таблицы. Перенести из этого списка в список
Selected fields (выбранные поля) все поля в создаваемую форму при помощи кнопки
►►. Нажать кнопку Next (Далее) для перехода к следующему шагу (рис.1).
Рис.1
5. На втором шаге – Step 2 - работы мастера выбрать подчиненную таблицу Ses и те её
поля, которые будут размещены в форме в виде объекта Grid (Таблица) – здесь
переносятся все поля за исключением поля – Studentid (Номер зачетной книжки).
Для перехода к следующему шагу нажать кнопку Next (Далее) (рис.2).
Рис.2
6. На третьем шаге – Step 3 – мастер указывает, по какому полю связаны межу собой
таблицы. Далее кнопка Next (рис.3).
Рис.3
7. На четвертом шаге – Step 4 – выбрать стиль оформления формы, воспользовавшись
значениями из списка Style (Стиль). В группе Button type (Тип кнопки) установить
опцию Text button (Кнопки управления содержат текстовые надписи) и нажать
Next.
8. На следующем шаге – Step 5 – выбирается поле, по которому будет осуществляться
сортировка отображаемых в форме данных. Для переноса поля FirstName (Фамилия)
из списка Available fields or index tag (Имеющиеся поля и индексы) в список Selected
fields (Выбранные поля) установить курсор на поле FirstName (Фамилия), по
значению которого следует упорядочить данные и нажать кнопку Add (Добавить). Для
перехода к следующему шагу создания формы нажать Next (Далее).
2
9. На последнем, шестом шаге, - Step 6 – можно изменить заголовок формы. Для этого, в
поле ввода Type a title for your form (Тип заголовка формы), задать заголовок,
размещаемый в форме и выбрать следующий вариант продолжения работы с формой –
Save form and modify it in the Form (Сохранить и открыть для модификации в
конструкторе форм) – этот вариант выбирается для того, чтобы изменить в форме
заголовки полей (рис.4)
Рис.4
10. После установки требуемой опции нажать кнопку Preview для предварительного
просмотра созданной формы. После просмотра нажать вкладку Return to Wizard и если
в форме что-то не так, то вернуться к предыдущим шагам в работе мастера (кнопка
<Back) и изменить установленные параметры. После того как все параметры введены,
Рис.5
3
нажмите кнопку Finish (Готово) для завершения создания объекта. Появится запрос на
сохранение формы, следует открыть папку Son и нажать кнопку Сохранить. После
выполнения этих действий открывается окно конструктора форм (рис.5).
11. В окне конструктора формы щелкнуть правой кнопкой мыши на заголовке О1 и
открыть команду Properties (Свойства). В открывшемся окне свойств формы выбрать
из списка в верхнем диалоговом окне Header1 (Заголовок первого столбца Column1).
Перейти на вкладку Layout (Оформление) и ввести в поле Caption надпись с
названием первого предмета, например, - математика. В верхнем диалоговом окне
выбрать из списка заголовок второго столбца Column2-Header1. Перейти на вкладку
Layout (Оформление) и ввести в поле Caption надпись с названием второго предмета,
например, информатика. Переименовать оставшиеся столбцы.
12. В верхнем поле ввода свойств формы Properties выбрать из списка объект – форму
Form1. На вкладке Layout (Оформление) найти свойство BackColor и нажать кнопку с
тремя точками у строки ввода. Выбрать цвет и нажать кнопку OK. Закрыть окно
конструктора форм. Ответить Yes на вопрос о сохранении изменений в форме.
13. Для запуска созданной формы необходимо нажать кнопку Run (предварительно
выделив нужную форму).
14. Ввести данные для 10 человек из разных групп в таблицы Stud и Ses с помощью
многотабличной формы:
Для добавления каждой новой записи необходимо нажимать кнопку Add и в
открывшемся диалоговом окне Add Record устанавливать переключатель в положение
ввода в обе таблицы, родительскую и дочернюю (Add record to both), затем в поле Key
value вводить номер зачетной книжки и нажимать кнопку Add (рис.6).
Рис.6
После окончания ввода данных в обе таблицы следует нажать кнопку Save.
После ввода всех записей следует нажать кнопку Exit.
15. Просмотреть записи, введенные в таблицы Stud и Ses.
В окне диспетчера проекта перейти на вкладку Data, открыть объект Tables,
выделить таблицу Stud и нажать кнопку Browse (В режиме просмотра можно вносить
4
изменения в любые поля введенных записей. Вид окна просмотра можно менять выбором
команд Browse или Edit в пункте главного меню View, а для добавления записей здесь же
предусмотрена команда Append Mode. Команды для добавления и удаления записей
собраны также в пункте главного меню Table). Ввести данные для одного студента с
помощью команды Append Mode из меню View. Закрыть таблицу Stud.
В окне диспетчера проекта на вкладке Data выделить таблицу Ses и нажать
кнопку Browse. Ввести вручную в окне Command команду Edit, затем команду Append
(ввод команд завершается нажатием клавиши Enter). Ввести в таблицу Ses данные о
результатах сессии последнего студента, добавленного в таблицу Stud. Закрыть таблицу
Stud. Ввести в окно команд команду Browse, чтобы проверить результат ввода данных.
Часть II
-
Создание многотабличной формы для ввода данных
с помощью конструктора
1. В окне диспетчера проектов перейти на вкладку Documents (Документы), выделить
тип файла – Forms (Формы) и нажать кнопку New.
2. Для вызова конструктора в окне New Form нажать кнопку New Form или набрать
команду Create Forms в окне Command (проверить оба варианта).
3. Открыть окно среды окружения формы. Из пункта Главного меню View выбрать
команду Data Environment (рис.7). Если окно Data Environment пустое, вызвать
контекстное меню (щелчок правой кнопкой мыши в окне) и выбрать пункт Add
(Добавить).
Рис.7
4. В открывшемся окне Add Table or View последовательно выбрать и нажать кнопку Add
на таблицах STUD и SES (сначала – родительская, затем – дочерняя!!!).
5. Закрыть окно Add Table or View.
6. В окне Data Environment проверить правильность установленной связи между
таблицами.
5
7. В окне свойств Properties задать свойству DataSession значение – 1DefaultDataSession (текущий сеанс данных).
8. Вызвать контекстное меню формы. Выбрать пункт построителя Builder формы.
9. В окне построителя формы выбрать все поля из таблицы Stud.
10. Закрыть окно построителя (нажать OK).
11. Провести разделительную линию между полями таблиц. На панели инструментов
Form Controls Toolbar (открывается из пункта меню View) нажать кнопку с
изображением линии и провести её ниже полей из таблицы STUD.
12. Перейти в окно Data Environment (щелчок левой кнопкой мыши на поле окна или из
пункта Главного меню View).
13. Перетащить с помощью мыши поля O1-O4 и Rez из таблицы SES на поле формы
(ниже проведённой линии) (рис.8).
Рис.8
14. Создать объект для ввода из списка значений в поле Rez таблицы SES.
Выделить и удалить с помощью клавиши Delete объект TextBox, связанный с полем
Rez таблицы Ses. На панели инструментов Form Controls Toolbar нажать кнопку Combo
Box (раскрывающийся список) и поместить её на форму рядом с надписью Rez (названия
кнопок появляются при подведении курсора мыши). С помощью окна свойств Properties
задать свойства объекта Combo Box (если оно закрыто, открыть из меню View). Перейти
на вкладку Data (данные) и для свойства ControlSourse выбрать из списка поле таблицы
SES.rez. Спустится по полосе прокрутки до свойства Row-SourceType (тип источника
данных) и выбрать из списка Value (значение). В поле ввода свойства RowSource ввести
через запятую значения отлично, отлхор, хорошо, удовлетв, неудовл.
Провести ещё одну отделяющую линию ниже полей из таблицы SES (границы окна
формы можно растянуть).
15. Создать четыре командные кнопки для перемещения по записям базы данных.
Для этого на панели инструментов Form Controls Toolbar нажать кнопку с
названием Command Button и щёлкнуть левой кнопкой мыши ниже разделительной
линии. Повторить операцию четыре раза. Поочерёдно щёлкнуть на каждой из кнопок и
изменить для каждой из них на вкладке Layout свойство Caption, задавая в поле ввода
соответственно значения Next (следующая), Prev (предыдущая), Top (на первую), Bottom
6
(на последнюю). Поочерёдно щёлкнуть на каждой из кнопок и изменить для каждой из
них на вкладке Layout свойство AutoSize, задав – True.
Последовательно на каждой из кнопок дважды щёлкнуть левой кнопкой мыши,
откроется окно для ввода текста команд, которые будут выполняться при нажатии кнопки
(метод Click) на форме.
Для кнопки Next (следующая) следует ввести команды (для перехода на
следующую строку нажать клавишу Enter):
IF !EOF()
*проверка состояния конца файла
SKIP
*переход на следующую запись
ENDIF
Для кнопки Prev (предудыщая):
IF !BOF()
*проверка состояния начала файла
SKIP-1
*переход на предыдущую запись
ENDIF
Для кнопки Bottom (последняя):
IF !EOF()
*проверка состояния конца файла
GO BOTTOM
*переход на последнюю запись
ENDIF
Для кнопки Top(первая):
IF !BOF()
*проверка состояния начала файла
GO TOP
*переход на первую запись
ENDIF
В последней строке окна команд для каждой кнопки должна быть введена команда
_screen.ActiveForm.Refresh() (функция обновления экрана).
Закрыть окно Command1.Click.
16. Поменять цвет заливки формы (свойство BackColor).
17. Вставить заголовки СТУДЕНТЫ и СЕССИЯ над соответствующими полями. Для
этого:
Добавить объекты Label, поменять их свойство Caption, задав соответственно Студенты
и Сессия, цвет заливки BackColor, цвет и размер шрифта ForeColor, FontSize и Alignment
(выравнивание). Чтобы фон объекта Label был прозрачным, свойству BackStyle задают
значение 0-Transpartnt.
18. Закрыть окно конструктора форм, присвоив форме новое имя.
19. Запустить форму на выполнение.
20. Проверить работу командных кнопок.
21. Закрыть окно диспетчера проектов.
22. Закрыть окно Visual FoxPro.
7
Часть III 1.
2.
3.
4.
5.
6.
7.
8.
Ответить на контрольные вопросы
Как открыть файл проекта?
Описать шаги мастера создания проекта.
Как запустить форму на выполнение?
Как открыть окно свойств?
Как изменить записи на форме для ввода данных в дочернюю таблицу?
Как создать среду окружения данных формы?
Как создать командные кнопки?
Какие команды используются для перемещения по записям?
Часть IV -
Оформить отчет по лабораторной работе
Отчет по лабораторной работе должен содержать:
1. Титульный лист.
2. Копию экрана с формой, созданной при помощи конструктора форм.
3. Копию экрана с формой, созданной при помощи мастера форм.
4. Ответы на контрольные вопросы.
8
Download