Команда TOTAL
См. также
Синтаксис
TOTAL TO TableName ON FieldName
Параметры
TableName
Задает имя таблицы, в которую будут записываться итоговые суммы. Если заданной
таблицы не существует, Visual FoxPro создает ее. Если таблица существует и
установка SET SAFETY имеет значение ON, Visual FoxPro спрашивает, собираетесь ли в
вести запись поверх существующей таблицы. Если действует SET SAFETY OFF,
таких вопросов не поступает, а выходная таблица затирается.
FieldName
Задает поле, по которому группируются итоговые суммы. Таблица должна быть отсо
тирована по этому полю, или оно должно служить выражением ключа для открытого
индекса или тега индекса.
FIELDS FieldNameList
Задает поля, которые подлежат суммированию. Имена полей в списке следует разде
ять запятыми. Если опустить предложение FIELDS, по умолчанию суммируются все
числовые поля.
Scope
Задает диапазон суммируемых записей. Диапазон задается следующими предложе
иями: ALL, NEXT nRecords, RECORD nRecordNumber и REST. Подробнее о предложениях диапазона см. тему Предложения диапазона или главу 2 "Обзор языка программирования" Руководства разработчика.
По умолчанию областью действия команды TOTAL являются все записи (предложение
ALL).
FOR lExpression1
Задает критерий, в соответствии с которым в суммировании участвуют только
записи, удовлетворяющие логическому условию lExpression1.
Запрос, созданный командой TOTAL ... FOR, может быть оптимизирован по техно
огии Rushmore, если lExpression1 является оптимизируемым выражением. Для получения наивысшей производитель
ости используйте в предложении FOR оптимизируемое выражение. Подробнее см. темы SET OPTIMIZE и Основы технологии Rushmore
WHILE lExpression2
Задает условие, согласно которому записи текущей таблицы участвуют в суммирова
ии до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).
NOOPTIMIZE
Блокирует оптимизацию команды TOTAL по технологии Rushmore. Подробнее см. темы SET OPTIMIZE и Основы технологии Rushmore
Комментарии
Таблица в выбранной в данный момент рабочей области должна быть отсортирована
или проиндексирована. Для каждой группы записей, имеющих общее значение поля и
и уникальное значение ключа индекса, вычисляется отдельная итоговая сумма. Резу
ьтаты помещаются в записи второй таблицы. В этой таблице для каждого общего з
ачения поля или уникального значения ключа индекса создается одна запись.
Если числовые поля второй таблицы не в состоянии вместить по ширине полученные
суммы, может произойти числовое переполнение. В этом случае Visual FoxPro сох
аняет наиболее старшие части итоговых сумм. Если поле слишком мало, чтобы хра
ить итоговую сумму, происходит следующее:
Десятичные знаки дробной части отбрасываются, а оставшаяся часть суммы округ
яется.
Если сумма по-прежнему не вмещается в поле, используется экспоненциальное пре
ставление, при условии, что поле итоговой суммы содержит не менее семи цифр.
В противном случае содержимое поля замещается звездочками.
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.