3.5 Создание форм
 
Формы используются для 
ввода данных и их просмотра из таблиц.
Создание формы с 
помощью мастера.
  - Создаем форму с помощью мастера:
 
  
  - открываем базу данных проекта «Курсовик». Для этого на вкладке Data устанавливаем курсор на ее названии  и нажимаем кнопку Modify окна проекта;
 
  - щелкаем на ярлыке Documents для перехода на вкладку Documents;
 
  - выбираем группу Forms и нажимаем кнопку New;
 
  - в открывшемся диалоговом окне New Form нажимаем кнопку Form Wizard;
 
  - после запуска мастера форм откроется диалоговое окно Wizard Selection, в котором  имеется две опции: 
 
. Form Wizard – для создания однотабличной формы; 
. One – to – Many Form Wizard – создание формы для нескольких связанных 
таблиц.  
Выбираем первую опцию.
  - появляется первое диалоговое окно мастера, в котором необходимо указать таблицу, для которой создаем форму («Личные данные») и выбираем поля этой таблицы, размещаемые в форме:
 
  
  - в области Databases and tables из верхнего списка выбираем базу данных «Курсовик», а из нижнего – таблицу «Личные данные»;
 
  - из списка Available fields переносим в Selected fields поля, которые хотим разместить в создаваемой форме (для переноса полей используем кнопки со стрелочками), затем нажимаем кнопку Next;
 
  
  - в появившемся диалоговом окне мастера можно установить стиль отображения объектов формы и типы кнопок управления. Оставив их заданными по умолчанию, нажимаем кнопку Next;
 
  - на следующем шаге задаем критерий сортировки данных, отображаемых в форме. Переносим поле ном из списка Available fields or index tag в список Selected fields, используя кнопку Add. Аналогично переносим поля ном,  фио, гр. Устанавливаем опцию Ascending (по возрастанию) и нажимаем кнопку Next;
 
  - на заключительном шаге создания формы с помощью мастера выбираем одну из следующих опций:
 
Save form for later use – сохранить форму для последующего 
использования;
Save and run form – сохранить и запустить форму на выполнение;
Save form and modify it in the Form Designer – сохранить и открыть форму для модификации 
в конструкторе форм.
Выбрав опцию Save form for later use, при помощи кнопки Preview, просматриваем макет 
формы, и, вернувшись в окно мастера, с 
помощью кнопки Return to Wizard.
Нажимаем кнопку Finish и сохраняем форму 
с именем «Личные данные».   
  - Просматриваем форму в режиме конструктора:
 
  
  - в окне проекта на вкладке Documents выделяем форму «Личные данные» и нажимаем кнопку Modify;
 
  - на экране появляется форма «Личные данные» в режиме редактирования и окно свойств  Properties. Если окна свойств нет, выбираем команду Properties из меню View.
 
  
  - Изменяем внешний вид формы:
 
  - изменяем свойства надписей и заголовка формы. Для этого необходимо поочередно выделять каждую надпись (щелчком мыши) и в окне Properties задать новые значения свойств (наименование свойства выбирается из списка, а новое значение задается в поле ввода окна свойств). Устанавливаем следующие значения свойств:
 
FontBold – увеличиваем толщину надписи – True (выбираем из раскрывающегося 
списка появляющегося при выборе свойства);
FontName – название шрифта – Times New Roman;
FontSize – размер букв – для надписей – 10, для 
заголовка - 20;
ForeColor – цвет букв – нажимаем кнопку, расположенную 
справа от поля ввода окна свойств, из 
появившейся палитры выбираем любой цвет 
и нажимаем кнопку OK;
BackColor – цвет фона формы – выбираем цвет из 
палитры, как и при задании значения свойства ForeColor.
  - Изменяем внешний вид кнопок, заменяем их английские названия на русские. Для этого щелкаем по группе кнопок и в раскрывающемся списке, расположенном в верхней части окна свойств находим значение BUTTONSET1. Там перечислены все кнопки, расположенные в форме (cmdPrev, cmdNext, cmdTop, cmdEnd, cmdFind, cmdPrint, cmdExit, cmdAdd). Щелкаем по названию первой кнопки. После этого кнопка выделится в форме. Можно выделить каждую кнопку щелчком мыши по ней (для того, чтобы выделить все кнопки и одновременно изменять их свойства, нужно выделить первую кнопку и, удерживая клавишу Shift, выделить все остальные). Задаем для кнопок следующие значения свойств:
 
Caption – текст на кнопке (задается для каждой 
кнопки отдельно; при установке значений 
старая версия – на английском языке – 
удаляется, а новая – на русском – вводится 
в поле ввода):
                    Prev – Предыдущая;
Next – Следующая;
Top – Первая;
Bottom (End) – Последняя;
Find – Поиск;
Print – Печать;
Edit – Изменить;
Delete – Удалить;
Add – Добавить;
Exit – Выход;
FontName – MS sans Serif;
FontSize – 9.
  - Запускаем форму на выполнение одним из следующих способов:
 
  
  - выбираем в меню Form команду Run Form;
 
  - выбираем команду Run Form всплывающего меню;
 
  - нажимаем кнопку Run на стандартной панели инструментов Visual FoxPro;
 
  - в окне проекта выделяем форму и нажимаем кнопку Run.
 
При этом появится диалоговое 
окно с сообщением, сохранить изменения 
в форме или нет. Нажимаем кнопку Yes.
В этой форме мы можем просматривать данные, перемещаться 
на первую и на последнюю запись, добавлять 
новые данные, редактировать и удалять 
данные, используя соответствующие кнопки 
форм. 
После окончания работы 
с данными закрываем форму с помощью системной кнопки 
или нажмите кнопку Выход.
  - Просматриваем содержимое таблицы с помощью формы.
 
Форма «Личные данные» представлена в Приложении 
В.
Аналогично создаем форму «Стипендия», 
«Первый семестр». Формы «Первый семестр» 
и «Стипендия» представлены в Приложении 
В.
 
 
3.6 Создание отчета
 
Создание отчета 
с помощью мастера
Отчеты предназначены 
для вывода информации на печать.
Создаем отчет с помощью мастера, в котором содержалась 
бы информация о гражданах РФ в алфавитном 
порядке. Для этого необходимо выполнить  
следующие действия:
  - открываем ранее созданный проект;
 
  - открываем базу данных «Личные данные»; 
 
  - переходим на вкладку Documents. Выбираем группу Reports;
 
  - нажимаем кнопку New окна проекта;
 
  - в открывшемся диалоговом окне New Report выбираем опцию Report Wizard;
 
  - в появившемся диалоговом окне указываем тип создаваемого отчета – Report Wizard (простой однотабличный отчет) и нажимаем кнопку Ok;
 
  - в следующем диалоговом окне в области Database and tables в нижнем списке выбираем таблицу «Личные данные», для которой будет создан отчет;
 
  - из списка Available fields переносим в список Selected fields поля таблицы, которые будет содержать отчет: , ном,  фио, д_р, гр, адрес, тел, форма_обучения (для переноса полей используем кнопки со стрелочками, расположенные между списками). Нажимаем кнопку Next;
 
  - в следующем диалоговом окне указываем поля, по которым будет осуществляться группировка данных в отчете. Для этого в первом раскрывающемся списке выбираем поле – гр, нажимаем кнопку Next для перехода к следующему шагу;
 
  - в следующем диалоговом окне задаем стиль отображения объектов в отчете. Для этого в списке Style выбираем один из вариантов. В области просмотра в верхнем левом углу диалогового окна мастер позволяет просмотреть, как будут выглядеть элементы отчета; нажимаем кнопку Next;
 
  - на следующем шаге можно указать порядок размещения объектов в отчете и ориентацию страницы; оставив их заданными по умолчанию, нажимаем кнопку Next;
 
  - в следующем диалоговом окне можно задать поля, по которым будет осуществляться упорядочение данных в отчете. Выбираем поле ФИО, форма_обуч и нажимаем кнопку Add, нажимаем кнопку Next;
 
  - на следующем шаге можем выбрать вариант дальнейшей работы с отчетом из трех возможных вариантов:
 
  
  - Save report for later use – созданный отчет сохраняется на диске;
 
  - Save report and modify it in the Report Designer – созданный отчет сохраняется на диске и открывается в конструкторе отчетов для модификации;
 
  
  - Save and print report – созданный отчет сохраняется на диске и печатается.
 
Выбираем первый.
Чтобы просмотреть созданный 
отчет, нажимаем кнопку Preview. Для завершения создания 
отчета нажимаем кнопку Finish;
  - в открывшемся диалоговом окне Save as вводим имя созданного файла («Личные данные»); Созданный отчет открылся в конструкторе отчетов.
 
Отчет «Ноуты» представлен в Приложении Г.
Аналогично создаем 
отчеты «Протокол стипендиальной комиссии» 
и «Ведомость на стипендию по группам».
Отчеты ««Протокол стипендиальной комиссии» 
и «Ведомость на стипендию по группам» 
представлена в Приложении Г.
 
 
 
 
 
3.7 Создание 
запросов с помощью конструктора 
запросов
 
Запросы необходимы для 
обработки данных из одной или 
нескольких таблиц.
  - Открываем ранее созданный проект.
 
  - Переходим на вкладку Data и выбираем группу Queries (Запросы).
 
  - Нажимаем кнопку New окна проекта.
 
  - В открывшемся диалоговом окне  New Query (Новый запрос) нажимаем кнопку New Query. Откроется диалоговое окно выбора таблиц Add Table or View.
 
В этом диалоговом окне выбираем таблицу  «Личные данные» и с помощью кнопки Add переносим ее в окно 
конструктора запросов. Аналогично переносим 
вторую таблицу «Первый семестр» и таблицу «Стипендия».
  - Завершив выбор таблиц, нажимаем кнопку Close. На экране появляется окно конструктора запросов Query Designer, а в основном меню появляется пункт Query.
 
  - Можно приступать к формированию условий запроса.
 
Запрос 1.  Вывести фамилии всех студентов группы 
типа «22Ю».
Для этого выполняем 
следующие действия:
  - на вкладке Fields выбираем поля ном, д_р,  гр, адрес, тел, форма_обуч;
 
  - переходим  на вкладку Filter конструктора запросов;
 
  - в столбце Field Name нажимаем кнопку раскрытия списка и из всех полей исходной таблицы выбираем Личные_данные.гр;
 
  - в списке вариантов сравнения Criteria выбираем оператор сравнения (=);
 
  - в поле Example вводим значение «22Ю»;
 
  - запускаем запрос на выполнение, просматриваем и закрываем запрос;
 
  - сохраняем созданный запрос под именем группа 22Ю.
 
Запрос «Группа 22Ю» представлен в Приложении 
Д.
Запрос 2. Вывести  фамилии студентов дневного 
отделения.
Для этого выполняем 
следующие действия:
  - на вкладке Fields выбираем поля фио, форма_обучения;
 
  - переходим  на вкладку Filter конструктора запросов;
 
  
  - В первой строке в столбце Field Name  выберите из раскрывающегося списка значений поле личные_данные.форма_обучения. В списке вариантов сравнения Criteria выберите вариант (=), в поле Example введите очная.
 
  - Запустим запрос на выполнение.
 
Запрос «студенты дневного отделения» представлен 
в Приложении Д.
Запрос 3. Вывести код стипендии, размер которой 
превышает 1000 рублей .
Для этого выполняем 
следующие действия:
  - на вкладке Fields выбираем поля код_стип, размер ;
 
  - переходим  на вкладку Filter конструктора запросов;
 
  - в столбце Field Name нажимаем кнопку раскрытия списка и из всех полей исходной таблицы выбираем стипендия.размер;
 
  - в списке вариантов сравнения Criteria выбираем оператор сравнения (>=);
 
  - в поле Example вводим значение «1000»;
 
  - запускаем запрос на выполнение, просматриваем и закрываем запрос;
 
  - сохраняем созданный запрос под именем «Стипендия больше 1000 рублей».
 
Запрос «Код стипендии больше 1000 рублей» 
представлен в Приложении Д.
 
3.8 Создание меню приложения
 
  - Создание строки меню (горизонтального меню).
 
  
  - Открываем ранее созданный проект.
 
  - Переходим на вкладку Other, затем выбираем группу Menus и нажимаем кнопку New окна проекта.
 
  - В появившемся диалоговом окне New Menu выбираем вариант меню Menu (горизонтальное меню). В результате запускается конструктор меню, а в основное меню Visual FoxPro добавляется новый пункт Menu. В конструкторе меню в поле Prompt можно ввести наименование пунктов меню. Раскрывающийся список Result используется для указания типа меню (Command – Команда, Pad Name – Наименование строки меню, Submenu – Подменю, Procedure – Процедура). Кнопка Options открывает диалоговое окно Prompt Options, в котором можно определить дополнительные параметры данного элемента меню (например, «горячие клавиши»). В списке Menu level указывается уровень текущего меню.
 
  - В поле Prompt вводим наименование первого пункта меню –Личные данные – и нажимаем клавишу <Tab> для перехода на следующее поле.
 
  - Для определения типа пункта меню нажимаем кнопку раскрытия списка и выбираем значение Submenu.
 
  - Переходим на следующую строку и вводим наименование и тип второго пункта меню. Аналогично вводим другие пункты меню (рис.1).