Базы данных Visual Foxpro

         

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

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

SELECT SaleMon

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

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

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

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

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

Совет

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

 

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