- •Настройка vfp
- •Состав vfp
- •Закрытие vfp
- •Создание таблиц
- •Создание таблицы в Мастере
- •Типы данных
- •Работа с таблицей
- •Введение данных в поля типа Memo и General
- •Структура команд sql
- •Создание таблицы в конструкторе
- •Создание таблицы командами sql
- •Удаление данных из таблицы
- •Поиск данных вне индексированной таблицы
- •Навигация по таблице
- •Индексы. Индексирование таблиц.
- •Создание индекса
- •Связи между таблицами
- •Поиск данных в индексированной таблице
- •Сортировка данных в таблице
- •Фильтрация данных
- •Установка фильтра по строкам
- •Запуск формы
- •Поиск данных средствами формы
- •Создание программного файла
- •Работа с переменными
- •Сохранение и восстановление переменных
- •Просмотр переменных
- •Типы переменных
- •Функции vfp
- •Математические функции
- •Функции даты и времени
- •Функции для работы с таблицей
- •Функции преобразования типов данных
- •Запросы к бд
- •Создание запроса мастером
- •Создание запроса по 2 таблицам средствами мастера
- •Создание запроса в конструкторе
- •Запрос в конструкторе по 2 таблицам
- •Создание отчета по 1 таблице в мастере
- •Создание отчетов в конструкторе
- •Файл проекта
- •Создание проекта в мастере
- •Создание меню
- •Организация интерфейса с пользователем
- •Модификация формы в конструкторе
- •Работа с окнами
- •События и методы
- •Обеспечение целостности и безопасности бд
- •Нормализация таблиц
Создание запроса в конструкторе
Конструктор позволяет создавать запросы любой сложности по любому количеству таблиц. Прежде чем создавать запрос нужно отобрать таблицы с помощью окна Add table. Прежде всего на вкладке field отбираем поля. Найдем имена и фамилии людей живущих в Лондоне моложе 1960 года рождения. На вкладке Filter устанавливают условия для отбора записей. В поле field name выбираем employee.city. В графе Criteria ставим = и в графе example вводим London. Поставив первое условие проверим что получится. Для этого в меню правого щелчка выберем Run Query. Если все нормально ставим 2 условие. В графе Logical выбираем логический оператор. Поставив отметку в графе not меняем оператор на противоположный.
Запрос в конструкторе по 2 таблицам
Из таблиц Employee и Orders извлечем данные о заказах, которые оформил Fuller по Германии и по США. Отбираем таблицы (они появятся в среде окружения) – на вкладке fields отбираем поля – на вкладке join выбираем способ объединения таблицы – на вкладке Filter ставим условия отбора (ставим каждый раз Fuller, по причине его четкости) – на вкладке Order by можно установить сортировку по выбранному полю – на вкладке Miscellaneous (Разное) можно установить дополнительные параметры отображения информации в отображении запроса, например не показывать повторяющиеся записи. Отметка в поле all позволяет отображать все записи или указанное количество.
Вывод результатов запроса может производится по разному. В контекстном меню выберем Output settings. По умолчанию выбран режим Browse. Возможен также выбор сохранения в файл таблицы. Курсор – временная таблица, которую VFP для внутреннего употребления. Можно посмотреть код SQL,который был сгенерирован в результате наших действий по созданию запроса. Например в нашем случае мы записываем этот код полностью, прям как лохи olololo xD О_О.
Employee.Last_name, orders.to_country, orders.to_name,orders._to_address
From;
Testdata!emloyee; …
В тексте запроса или другой программы сначала пишется имя базы данных, затем восклицательный знак, потом имя таблицы и, через точку – имя поля.
Дополнить созданный запрос так чтобы :
Выводились данные на сумму заказа > 1000
Чтобы данные были отсортированы по сумме заказа сверху вниз и по стране.
Отчеты
Вывести на печать таблицу нельзя, так как она может содержать слишком много строк. На печать можно вывести только отчет. Для отчета отбираются данные, отвечающие поставленным условиям. При этом выводимые данные определенным образом систематизируются. При необходимости выводятся итоговые значения..
Чтобы вывести на печать результаты запроса его сначала сохраняют в виде таблицы, а затем на ее основе делают отчет.
Данные, отображаемые в отчете могут быть систематизированы:
А) Путем сортировки, то есть выстраиваются по возрастанию или по убыванию.
Б) Путем группировки, когда родственные данные объединяются в группу, например, создавая отчет по успеваемости студентов, можно группировать данные по группам или по курсам или по степени успеваемости.
Расширение отчета - .frx