Share via


TOTAL (Comando)

Calcula totales para campos numéricos de la tabla seleccionada actualmente.

TOTAL TO TableName ON FieldName   [FIELDS FieldNameList]   [Scope]
   [FOR lExpression1]   [WHILE lExpression2]   [NOOPTIMIZE]

Parámetros

  • TableName
    Especifica el nombre de la tabla que va a contener los totales. Si la tabla especificada no existe, Visual FoxPro la creará. Si la tabla existe y SET SAFETY está establecido en ON, Visual FoxPro le preguntará si desea sobrescribir la tabla existente. Si SET SAFETY está establecido en OFF, no se le preguntará y se sobrescribirá la tabla de resultados.

  • FieldName
    Especifica el campo en el que se agrupan los totales. Es necesario que la tabla esté ordenada por este campo, o que un índice abierto o una etiqueta de índice tengan este campo como su expresión de clave.

  • FIELDS FieldNameList
    Especifica los campos cuyo total se debe calcular. Separe los nombres de campos de la lista con comas. Si omite la cláusula FIELDS, se calcula el total de todos los campos numéricos de forma predeterminada.

  • Alcance
    Especifica un intervalo de registros cuyo total se calcula. Las cláusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener más información acerca de las cláusulas de alcance, vea los temas en pantalla Cláusulas de alcance e Introducción al lenguaje.

    El alcance predeterminado de TOTAL es ALL (todos los registros).

  • FOR lExpression1
    Especifica una condición por la que sólo se incluyen en los totales los registros que cumplen la condición lógica lExpression1.

    Si lExpression1 es una expresión optimizable, Rushmore optimizará una consulta creada con TOTAL ... FOR. Para obtener el máximo rendimiento, utilice una expresión optimizable en la cláusula FOR.

    Si desea obtener más información, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos.

  • WHILE lExpression2
    Especifica una condición por la cual los registros de la tabla activa se incluyen en los totales, siempre y cuando la expresión lógica lExpresión2 dé como resultado verdadero (.T.).

  • NOOPTIMIZE
    Desactiva la optimización Rushmore de TOTAL.

    Si desea obtener más información, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos.

Observaciones

Es necesario que la tabla del área de trabajo seleccionada actualmente esté ordenada o indizada. Se calcula un total separado para cada conjunto de registros que tengan un valor de campo común o un valor único de clave de índice. Los resultados se colocan en registros de una segunda tabla. En esta segunda tabla se crea un registro para cada valor de campo común o para cada valor único de clave de índice.

Puede producirse un desbordamiento numérico si los campos numéricos de la segunda tabla no son lo suficientemente amplios para contener los totales. Visual FoxPro conservará la parte más significativa de los totales cuando se produce un desbordamiento. Cuando un campo es demasiado pequeño para aceptar un total:

  • Se truncan los decimales y se redondea la parte decimal restante del total.
  • Si el total aún no cabe, se utiliza la notación científica en el caso de que el campo total contenga siete o más dígitos.
  • Por último, se sustituye el contenido del campo por asteriscos.

Vea también

AVERAGE | CALCULATE | INDEX | SORT | SUM