Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htSumOfKeyValues - Получить сумму значений элемента для подмножества записей

Назначение:

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

Прототип:

 int HTAPI htSumOfKeyValues(
	LPSAB fpSrc, /* Адрес БДС, содержащего список записей */
	int nElemNo, /* Номер элемента записи */
	void far *fpSum /* Сюда поместят сумму значений */
 );

Параметры

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

Тип результата определяется исходя из типа обсчитываемого элемента, следующим образом:

ET_BYTE
Результат будет типа long
ET_DATE
ET_INTR
ET_LONG
ET_NMBR
ET_WORD
ET_DWRD
Результат будет типа unsigned long
ET_CURR
Результат будет типа double
ET_DFLT
ET_FLOA

Результат:

0 при успешном завершении
отрицательное число код ошибки

Пример.

Получить сумму выплаченной заработной платы в отделе 10.

 typedef struct tagREC { /* Структура записи таблицы */
     char name[10];
     char sex;
     int depart;
     unsigned fee;
 } REC;
 int rc;
 long gTotalFee;
 SAB sAll10;
 THANDLE hTable;
 . . .
 /* Список людей из 10 отдела */
 rc = 10;
 if( !htSearch( NULL, &sAll10, hTable, 3, EQUAL, &rc, NULL ) )
 /* Обработка ошибок */
 . . .
 /* Вычисление суммы на подмножестве записей */
 if( (rc = htSumOfKeyValues( &sAll, 4, &gTotalFee )) < 0 )
 /* Обработка ошибок */
 else
 /* Общая сумма зарплаты gTotalFee */