How to Calculate Running Totals in a BROWSE Command

Last reviewed: April 29, 1996
Article ID: Q102890
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for Windows, version 2.5
  • Microsoft FoxPro for MS-DOS, versions 2.0 and 2.5

You can display running totals from database fields, or running totals for a particular control break, by using calculated fields in a BROWSE command.

The following example uses the CUSTOMER database and displays the running total of year-to-date purchases (YTDPURCH field) using the file and field names in FoxPro 2.x:

   SELECT 0
   USE CUSTOMER
   BROWSE FIELDS CNO, YTDPURCH, RUNNINGYTD=RUNNINGSUM()

   PROCEDURE RUNNINGSUM
   m.saverec = RECNO()
   GO TOP
   SUM YTDPURCH WHILE RECNO() <= m.saverec TO m.total
   GO m.saverec
   RETURN m.total

The same concept can also be applied to display running totals for a particular control break. For example, if we wanted to calculate the running total of year-to-date purchases by company number (CNO), and have an index tag on CNO, the following code could be used:

   SELECT 0
   USE CUSTOMER
   SET ORDER TO TAG CNO
   BROWSE FIELDS CNO, YTDPURCH, RUNNINGSUM = CNOTOT(CNO)

   FUNCTION CNOTOT
   PARAMETERS mkey
   m.saverec = RECNO()
   SEEK mkey
   SUM YTDPURCH WHILE CNO=mkey .AND. RECNO()<=m.saverec to m.total
   GO m.saverec
   RETURN m.total


Additional reference words: VFoxWin 3.00 FoxDos FoxWin 2.00, 2.50, BROWSE,
CALCULATE
KBCategory: kbprg
KBSubcategory: FxprgBrowse


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 29, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.