Реляционные СУБД в Visual FoxPro 8

         

Программа создания перекрестной таблицы

Мастер перекрестных таблиц использует в своей работе программу vfpxtab.prg. Эту программу вы можете вызывать из ваших программ, предварительно подготовив и открыв в текущей области требуемую таблицу.

Для работы программы, создающей перекрестную таблицу, необходимо определить используемые в ней параметры (табл. 10.4).

Таблица 10.4. Параметры программы, создающей перекрестные таблицы



Порядковый номер параметра Назначение Значение по умолчанию
1 Имя выходного файла или курсора xtab.dbf
2 Признак создания только курсора True
3 Признак закрытия исходной таблицы при выходе из программы True
4 Признак отображения индикатора работы программы True
5 Номер поля, являющегося строкой перекрестной таблицы 1
6 Номер поля, являющегося столбцом перекрестной таблицы 2
7 Номер поля, являющегося полем данных перекрестной таблицы 3
8 Признак формирования итогового поля False
9 Тип вычисления итогового поля (0 — сумма, 1 — количество, 2 — доля от итогового значения в процентах)

Воспользуемся программой vfpxtab. prg для представления итогового объема продаж товара по месяцам в виде перекрестной таблицы.

  1. В окне конструктора запросов создайте запрос, используя таблицы ordsalem и ordsaled. Разместите в итоговых полях код товара, месяц продажи и стоимость проданного товара. Установите группировку данных по коду товара, месяцу продажи и упорядочение данных по коду товара.
  2. Просмотрите созданный запрос и убедитесь, что он правильно осуществляет выборку данных из таблиц.
  3. Откройте диалоговое окно, в котором отображается SQL-оператор, соответствующий созданному вами запросу. Для этого в меню Query (Запрос) выберите команду View SQL (Показать SQL).
  4. Скопируйте SQL-оператор в буфер обмена Windows.
  5. Откройте новое окно редактора программ. Для этого перейдите на вкладку Code (Код) конструктора проекта, установите курсор в группу Programs (Программы) и нажмите кнопку New (Новый).
  6. В открывшемся окне новой программы разместите из буфера обмена конструкцию select, определяющую итоговые ежемесячные продажи.
  7. Добавьте в вашу программу вызов программы генерации перекрестной таблицы:
  8. SELECT SaleMon

    DO (_GENXTAB) WITH 'SMon',.F.,.T.,.T.,,,,.T.,2

    После размещения в программе всех необходимых команд она будет иметь вид, представленный на рис. 10.9.

    Рис. 10.9. Завершающая стадия создания перекрестной таблицы

  9. Сохраните программу с именем salemon.prg и запустите ее на выполнение. Будет создана таблица smon с ежемесячными итоговыми объемами продаж товаров (рис. 10.10).

Совет
При создании выборки вы можете для определения имени месяца вместо его номера использовать подготовленную заранее функцию. Однако в этом случае при упорядочении выборки по месяцам в перекрестной таблице названия месяцев будут расположены в алфавитном, а не в хронологическом порядке.

Рис. 10.10. Итоговые ежемесячные объемы продаж товаров

Содержание раздела