Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция fn_htValuesByCount

htValuesByCount - Получить список значений элемента с заданным числом повторов

Назначение:

Функция предназначена для получения списка значений некоторого элемента (поля, группы или подстроки) на заданном множестве записей. В отличие от предыдущей функции отбираются те значения элемента, число повторов которых попадает в заданные пределы.

Прототип:

 LPSAB HTAPI htValuesByCount(
	LPSAB 	fpDst,   	/* Для приема результата */
	int   	nElemNo, 	/* Номер элемента, являющегося ключом */
	LPSAB 	fpSrc,   	/* Адрес БДС, содержащего список записей */
	long  	gMin,    	/* Минимальное число повторов (не менее 1) */
	long  	gMax     	/* Максимальное число повторов */
 );

Параметры

fpDst
должен содержать адрес БДС, предназначенного для хранения списка значений элемента
nElemNo
задает номер элемента записи, значения которого будут отобраны. Нумерация элементов в записи начинается с единицы
fpSrc
содержит адрес БДС, задающий просматриваемое подмножество записей
gMin
задает нижнюю границу числа повторов
gMax
задает верхнюю границу числа повторов

Результат:

адрес БДС, заданного в качестве первого параметра при успешном завершении
NULL код ошибки в поле fpDst->nRetCode

Пример.

Получить список фамилий, которые встречаются не менее 3-х раз.

typedef struct tagREC { /* Структура записи таблицы */
	char name[10];
	char sex;
	int room;
} REC;
long gZero = 0L;
SAB sAll;
SAB sThree;
THANDLE hTable;
 . . .
/* Список всех людей на данный момент */
if( !htSearch( NULL, &sAll, hTable, 0, GREAT, &gZero, NULL ) )
	/* Обработка ошибок */
/* Список фамилий с заданным число повторов */
if( !htValuesByCount( &sThree, 1, &sAll, 3L, MAX_RECNUM ) )
	/* Обработка ошибок */