ЛАБОРАТОРНАЯ РАБОТА №8 ЗАПРОСЫ и ОТЧЕТЫ. 8.1 Запросы. Результат запроса-таблица. Выделим папку “Query” в проекте и щелкнем на кнопке”New”.Переходим к экрану рис. 8.1 Рис.8.1. Выберем “Query Wizard” и перейдем к экрану рис.8.2. Рис.8.2 Из представленного меню выберем “Query Wizard” и перейдем к экрану рис.8.3. Рис.8.3 Для запроса выберем таблицу базы данных “CH_rasp1”,которую мы создали для лаб.работы №2. Рис.8.4. Результат запроса мы поместим в новую таблицу .Для этой таблицы выберем 3 поля, которые указаны на рис.8.4.После этого щелкнем на кнопке “Next” и перейдем к экрану рис.8.5. Рис.8.5. Запрос сформулируем следующим образом: Найти всех сотрудников имеющих оклад от 100 до 950 рублей включительно.На рис 8.5 этот запрос установлен с помощью 3 окон :”Fields” – OKLAD,”Operator”-more then,”Value-100” и “Fields”-OKLAD,”Operator”-less then,”Value”-950.Нажмем кнопку ”Next” и перейдем к экрану рис 8.6 Рис.8.6 На этом шаге мы выберем поле для сортировки записей в таблице результата запроса. Нажмем кнопку “Next” и перейдем к экрану рис.8.7. Рис.8.7. На этом шаге мы должны выбрать количество записей,отражаемых в таблице запроса.Нажмем кнопку “Preview” И перейдем к экрану рис.8.8. Рис.8.8. После анализа результатов запроса закроем таблицу и перейдем к экрану рис.8.9. Рис.8.9. На этом шаге мы должны указать какие дальнейшие действия мы выбираем .Выберем :– “запомнить запрос “.Нажмем кнопку “Finish” и перейдем к экрану рис.8.10. Рис.8.10. Таблицу запроса запомним в папке Нашего проекта “Other” с произвольным именем( в примере это-query3) и нажмем кнопку “Сохранить”. Перейдем к экрану рис.8.11. Рис.8.11. Запустим запрос ”query3” из проекта. Нажмем кнопку “Run” и перейдем к экрану рис.8.12. Рис.8.12. В проекте существует таблица с результатом запроса и именем “query3” Результат запроса-график. Результаты запроса,полученные ввиде таблицы можно представить ввиде графика.Выделим папку “Query” нашего проекта и нажмем кнопку “New”. На экране рис.8.13. выберем “Query Wizard” и перейдем к экрану рис.8.14. Рис.8.13. Рис.8.14. На 1 шаге выберем поля ,которые можно использовать для графического представления отчета . Рис.8.15. На 2 шаге нам нужно выбрать поля ,значения которых мы будем использовать для оси Х и оси Y. Рис.8.16. Рис.8.17. Для оси Х выберем поле ”Fam” .Перетащим это поле из окна “Available Fields” в окно на оси Х.Получим экран,представленный на рис.8.17. Рис.8.18. Для оси У выберем поле “Oklad” и перетащим его в окно “Data Series”.Получим экран 8.18. На 3 шаге мы выбираем вид графического представления материала.(см.рис.8.19.) Рис.8.19. Выберем 6 форму представления данных таблицы и перейдем к 4 шагу. Рис.8.20. На последнем шаге мы определяем имя формы, под которым будет запомним наш графический запрос и просмотрим предварительные результаты запроса. Рис.8.21. Возвратимся в “Wizard”,нажмем кнопку “Finish”и перейдем к экрану рис.8.22. Рис.8.22. Выход из “Wizard” переводит Вас в папку VFP.Поэтому Вы должны найти свой проект и запомнить графический запрос в папке “Forms” Рис.8.23. Сохраним графический запрос под именем “query3.scx”.Для этого нажмем кнопку «Сохранить»(см.рис.8.23).После этого перейдем к экрану рис.8.24. Рис.8.24. Мы перешли к экрану,кторый представляет нам возможность редактирования полученной формы.Это знакомый нам редактор “Form Designer”.После редактирования закроем редактор и перейдем к экрану рис.8.25.Здесь представлены файлы, которые входят в папку “Forms”.Видно,что наш файл “query3.scx” находится в этой папке. Рис.8.25. Нажмем кнопку “Ok”и в проекте ,в папке “Forms” мы увидим форму “query3”(если ее нет, то необходимо использовать кнопку “Add” проекта для ввода ее в проект из папки “Forms”).Выделим форму “query3” и запустим ее. Перейдем к экрану рис.8.26. Рис.8.26. Полученные запросы можно вызывать из формы. Создадим на одной из форм кнопку «Запрос» и запишем для события «Cliсk» процедуру вызова файла запроса. (см.рис.8.26.1-8.26.2) Рис.8.26.1 Рис.8.26.2 Текст запроса формируется с помощью операторов SQL select .Этот текст можно просмотреть и модифицировать. Для этого необходимо в окне “Command” запустить команду “modify file <имя файла>”(см.рис.8.26.38.26.4). Рис.8.26.3 Рис.8.26.4 8.2 ОТЧЕТЫ. В Visual FoxPro имеется 3 построителя отчетов:”Report Designer”,”Quick Report“ и “Report Wizard”. Мы рассмотрим работу с “Report Wizard”. Выделим папку “Report” в проекте и нажмем кнопку”New”(см.рис.8.27). Рис.8.27. Выберем “Report Wizard” и перейдем к экрану рис.8.28. Рис.8.28. Еще раз выберем “Report Wizard” и перейдем к экрану рис.8.29. Рис.8.29. Для отчета выберем таблицу “CH_rasp1” из нашей базы данных и поле ”oklad” (см.рис.8.30) Рис.8.30. Отчет мы составим для тех записей базы данных, у которых значение оклада не превышает значение 1000. В отчете мы хотим получить общую сумму, которая выплачивается указанным сотрудникам, среднее значение зарплаты и минимальное и максимальное значение оклада. Эти условия можно задать с помощью окон, которые открываются кнопками “Grouping option” и “Summary option”.Нажмем 1-ю кнопку. Рис.8.31. Зададим интервал 1000.В пределах 1000 должны быть сгруппированы записи из таблицы.Нажмем 2 кнопку. Перейдем к экрану рис.8.32. Рис.8.32. Здесь мы зададим условия обработки записей.Нажав кнопку “Ok” мы перейдем к экрану 8.33. Рис.8.33. На этом шаге нужно выбрать стиль отчета.Далее выполняются последующие шаги,предлагаемые системой(см.рис.8.34.-8.36) Рис.8.34 Рис.8.35. Рис.8.36. Рис.8.37. Отчет запоминается в папке “Reports” проекта. Из проекта можно запустить отчет. Рис.8.38. Рис.8.39. Теперь осталось распечатать Ваш отчет с помощью окна “Print Preview” 8.3. Словарь базы данных. Контейнерный файл базы данных является словарем, который хранит метаданные, т.е.данные о данных. Таблица контейнерного файла базы данных хранит справочную информацию обо всех типах объектов. Откроем файл .dbc ,который является контейнерным файлом базы данных. Рис.8.40. Этот файл необходимо открывать при закрытом проекте. Проанализируйте словарь своей базы данных. Конец цикла лабораторных работ по Visual FoxPro. .