Лабораторная работа № 9 Тема: Создание, выполнение запросов и назначение направления вывода результатов в среде Visual FoxPro. Экспорт данных из среды Visual FoxPro. Использование данных в графических форматах. Цель работы: Освоение команд и режимов конструктора запросов Queries Designer. Отработка приемов работы в среде Visual FoxPro с данными различных форматов. Задание к лабораторной работе Порядок работы: 1. Создать запрос о назначении стипендии с помощью конструктора Queries Designer. Для этого: ♦ В окне диспетчера проектов перейти на вкладку Data (Данные), выделить группу Queries (Запросы) и нажать кнопку New (Новый). ♦ В открывшемся диалоговом окне New Query (Новый запрос) нажать кнопку New Query (Новый запрос). Открывается диалоговое окно выбора таблиц Add Table or View (Добавить таблицу или представление данных). ♦ ♦ ♦ ♦ ♦ В этом диалоговом окне выбрать таблицы STUD, SES и STIP, данные из которых надо использовать в запросе, и с помощью кнопки Add (Добавить) перенести их в окно конструктора запросов (таблицы выбираются именно в этом порядке!). Закрыть окно Add Table or View. Для задания списка полей результирующей таблицы предназначена вкладка Fields (Поля) конструктора запросов. Вкладка Fields (Поля) содержит два списка: Available Fields (Имеющиеся поля) и Selected Fields (Выбранные поля). Список Available Fields (Имеющиеся поля) содержит все поля размещенных в окне конструктора таблиц. Selected Fields (Выбранные поля) отображает поля формируемого запроса. Поместим в запрос следующие поля из таблицы STUD: Группа, № зачетной книжки, Фамилия, Имя, Отчество; из таблицы SES: поле Результат; из таблицы STIP: поле Процент. Для выбора использовать кнопку Add (Добавить) Добавить в запрос вычисляемое поле. Рядом с полем ввода Functions and expressions нажать кнопку с тремя точками для вызова построителя выражений (Expression Builder). В диалоговом окне Expression построителя выражений Expression Builder ввести выражение для расчета среднего балла по результатам сессии для студента. Для этого в поле From table выбрать из списка таблицу SES. Дважды щелкнуть левой кнопкой мыши на поле O1, чтобы оно появилось в поле ввода выражения Expression. Нажать знак + на клавиатуре. Повторить операции для полей O2, O3 и O4. После поля О4 знак + нажимать не надо. Заключим выражение в круглые скобки и разделим (знак /) на 4. Для закрытия окна Expression Builder нажать кнопку OK. Присвоить имя BALL полученному выражению. Поместить курсор в конец выражения в поле ввода Function and Expressions окна конструктора запросов и, отделив пробелом, добавить имя вычисляемому полю: AS BALL. ♦ ♦ Чтобы добавить полученное выражение в запрос, нажать кнопку Add в окне конструктора. Проверить правильность условия объединения таблиц на вкладке Join окна конструктора запросов. ♦ Задать критерий выбора только тех записей в запрос, для которых поле результат сессии принимает одно из значений в диапазоне (оператор IN) отлично, отлхор, хорошо. Перейти на вкладку Filter и заполнить поля ввода в соответствии с рисунком: ♦ Определить назначение вывода результата запроса – Таблица. Для этого в пункте Главного меню Query выбрать команду Query Destination. В окне диалога Query Destination нажать кнопку Table (таблица) и кнопку с тремя точками у поля Table name. Открыть папку SON и присвоить имя новой таблице, например, Order. Нажать OK и закрыть окно диалога Query Destination. ♦ Выполнить сформированный запрос. В пункте Главного меню Query выбрать команду Run Query (результат запроса будет помещен в таблицу Order). ♦ Закрыть созданный запрос. 2. Открыть список таблиц Tables. Если таблица Order отсутствует в списке, то добавить её с помощью кнопки Add. Просмотреть созданную таблицу в режиме Browse. Сделать копию экрана. 3. Просмотреть результат запроса для студентов, у которых поле Результат сессии принимает значение “неудовл”. ♦ Для этого открыть в режиме Modify первый созданный запрос, перейти на вкладку Filter (задать новые условия отбора записей) и выбрать из списка Criteria знак ==, а в поле Example задать значение “неудовл”. Для просмотра результата в режиме Browse в пункте Главного меню Query выбрать команду Query Destination. В окне диалога Query Destination нажать кнопку Browse. Нажать кнопку OK и закрыть окно диалога Query Destination. ♦ Выполнить сформированный запрос. В пункте Главного меню Query выбираем команду Run Query (результат запроса будет выведен на экран). Сделать копию экрана. 4. В окне диспетчера проектов перейти на вкладку Documents и с помощью Мастера отчетов создать однотабличный отчет на основе таблицы Order с результатами запроса. 5. С помощью конструктора отчетов изменить английские заголовки столбцов отчета на русские. Сохранить отчет в папке SON с именем Order_R. 2 6. Создать новый запрос о назначении стипендии с помощью конструктора Query Designer. Для этого: ♦ В окне диспетчера проектов Project Manager перейти на вкладку Data (Данные). ♦ Выделить объект Queries (Запросы) и нажать кнопку New. ♦ В окне диалога New Query нажать кнопку вызова конструктора запросов New Query. ♦ После открытия окна конструктора запросов Query Designer, необходимо добавить в него таблицы. С этой целью используется окно диалога Add Table or View (Контекстное меню запроса, пункт - Add Table). ♦ Добавить таблицу Order, созданную с помощью первого варианта запроса, и таблицу Stud. ♦ В окне диалога Join Condition задать внутренне соединение Inner join таблиц по полю Classid (группа). ♦ Закрыть окно Add Table or View. ♦ В окне конструктора запросов перейти на вкладку Fields (Поля). Поместить в запрос (в список Selected Fields) из списка Available Fields все поля из первой таблицы Order и поля Hobby, D_r из таблицы Stud. Для выбора использовать кнопку Add. ♦ Упорядочить записи запроса по полю Firstname (вкладка Order By, кнопка Add). ♦ С помощью команды Query Destination пункта Главного меню Query назначить вывод результата запроса в таблицу Result (папка Son). ♦ Закрыть окно конструктора запросов и сохранить запрос в файле Res_Q. ♦ Выполнить запрос Res_Q (кнопка Run). ♦ Открыть список таблиц Tables. Если таблица Result отсутствует в списке, то добавить её с помощью кнопки Add. 7. Экспортировать таблицу Result в формат MS Excel. ♦ Открыть новую таблицу Result в режиме Browse. ♦ Выполнить команду Export в пункте Главного меню File. ♦ Появляется диалоговое окно Export. ♦ ♦ ♦ ♦ ♦ В окне Export в поле Type: выбрать из списка формат выходного файла Microsoft Excel. Далее нажать кнопку с тремя точками у слова To:. В окне диалога Save As задать имя файла (папка Son) и нажать кнопку Сохранить. Нажать кнопку OK в окне Export. Закрыть таблицу с результатами запроса. 8. Запустить приложение MS Excel и в нем отрыть в папке Son, сохраненную в формате MS Excel таблицу. ♦ ♦ ♦ Построить график вариаций среднего балла для студентов. Выделить и поместить график в буфер обмена. Преобразовать рисунок в графический формат (*.gif) файла, например, SR_BALL.gif. Для этого открыть графический редактор Paint (Пуск-Программы-Стандартные-Paint). Вставить рисунок из буфера обмена (Правка-Вставить). Сохранить рисунок в папке Son (Файл-Сохранить как), выбрав тип файла Формат GIF. 9. Вставить рисунок в отчет Order_R, сформированный по результатам запроса ORDER. ♦ Открыть отчет в окне конструктора отчетов. Добавить полосу Summary (команда Properties ) пункта Report Главного меню. В окне диалога Report Properties выбрать вкладку Optional Bands и установить флажок в Report has Summary band. Расширить полосу Summary. Найти на панели элементов Report Controls кнопку Picture/Ole Bound Control и в появившемся диалоговом окне Picture/Ole Bound Properties в полосе Control Source нажать кнопку с тремя точками для указания имени файла с графиком 3 SR_BALL.gif. Выбрать файл в окне Open и дважды нажать кнопки OK. Расширить при необходимости полосу Summary и поле рисунка. Просмотреть, сохранить и распечатать отчет. 10 . Ответить на контрольные вопросы: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Как открыть окно конструктора запросов Queries Designer? Каким образом добавляются таблицы в окно конструктора запросов? На какой вкладке окна конструктора запросов Queries Designer выбирают поля, включаемые в запрос? Как добавить запрос в вычисляемое поле? Как переименовать поля в запросе? Назвать назначение остальных вкладок окна конструктора запросов. Каким образом задают условия отбора записей в запросе? Какая команда определяет назначение вывода результата запроса? Как запустить запрос на выполнение? Что является результатом работы запроса? Как сохранить файл таблицы в формате другого приложения? Как вставить рисунок в отчет? Как добавить таблицу на вкладку Data в окне Project Manager? 11. Оформить отчёт по лабораторной работе. Отчет по лабораторной работе должен содержать: 1. Титульный лист. 2. Копии экранов с созданными запросами. 3. Отчет, сформированный на основании запроса с графиком. 4. Ответы на контрольные вопросы. 4