Базы данных 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. Итоговые ежемесячные объемы продаж товаров

Совет

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

 

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