Share via


TOTAL-Befehl

Berechnet die Summen für numerische Felder in der aktuell ausgewählten Tabelle.

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

Parameter

  • TableName
    Gibt den Namen der Tabelle an, die die Summen enthalten wird. Wenn die angegebene Tabelle nicht vorhanden ist, erstellt Visual FoxPro diese. Wenn SET SAFETY auf ON gesetzt ist, fragt Visual FoxPro Sie, ob Sie die bestehende Tabelle überschreiben möchten. Wenn SET SAFETY auf OFF gesetzt ist, werden Sie nicht gefragt, und die Ausgabetabelle wird überschrieben.

  • FieldName
    Gibt das Feld an, in dem die Summen gruppiert werden. Die Tabelle muss anhand dieses Feldes sortiert sein, oder ein offener Index oder Indextag muss dieses Feld als seinen Schlüsselausdruck verwenden.

  • FIELDS FieldNameList
    Gibt die Felder an, die summiert werden sollen. Trennen Sie die Feldnamen in der Liste jeweils durch ein Komma. Fehlt die FIELDS-Klausel, werden die numerischen Felder standardmäßig summiert.

  • Scope
    Gibt einen Bereich von Datensätzen an, die summiert werden sollen. Die Bereichsklauseln sind: ALL, NEXT nRecords, RECORD nRecordNumber und REST. Weitere Informationen zu Bereichsklauseln finden Sie in der Hilfe unter Bereichsklauseln und Überblick über die Sprache.

    Der Standardbereich für TOTAL ist ALL, d. h. alle Datensätze.

  • FOR lExpression1
    Bezeichnet eine Bedingung, nach der nur die Datensätze summiert werden, die die logische Bedingung lExpression1 erfüllen.

    Rushmore optimiert eine Abfrage mit TOTAL ... FOR, sofern lExpression1 ein optimierbarer Ausdruck ist. Die beste Leistung erreichen Sie, indem Sie in der FOR-Klausel einen optimierbaren Ausdruck verwenden.

    Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

  • WHILE lExpression2
    Gibt eine Bedingung an, bei der die Datensätze der aktuellen Tabelle so lange bei der Summierung berücksichtigt werden, wie der logische Ausdruck lExpression2 als Wahr (.T.) ausgewertet wird.

  • NOOPTIMIZE
    Deaktiviert die Rushmore-Optimierung für TOTAL.

    Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

Hinweise

Die Tabelle in dem aktuell ausgewählten Arbeitsbereich muss sortiert oder indiziert sein. Eine getrennte Summe wird für jede Gruppe von Datensätzen mit einem gemeinsamen Feldwert oder einem eindeutigen Indexschlüsselwert berechnet. Die Ergebnisse werden in die Datensätze einer zweiten Tabelle geschrieben. Für jeden gemeinsamen Feldwert oder jeden eindeutigen Indexschlüsselwert wird ein Datensatz in die zweite Tabelle geschrieben.

Ein numerischer Überlauf kann entstehen, wenn die numerischen Felder der zweiten Tabelle nicht breit genug sind, um die Summen aufzunehmen. Visual FoxPro erhält die wichtigsten Teile der Summen, wenn ein numerischer Überlauf auftritt. Wenn ein Feld zu klein ist, um die Summe zu akzeptieren:

  • Dezimalstellen werden abgeschnitten, und der verbleibende dezimale Teil der Summe wird gerundet.
  • Ist der Umfang der Summe noch nicht passend, wird wissenschaftliche Notation verwendet, wenn das gesamte Feld sieben oder mehr Stellen enthält.
  • Schließlich ersetzen Sternchen den Feldinhalt.

Siehe auch

AVERAGE | CALCULATE | INDEX | SORT | SUM