How to Determine Number of Records Returned by SQL-SELECT

ID: Q113808

2.50 2.50a 2.50b 2.60 3.00 | 2.00 2.50 2.50a 2.50b 2.60 | 2.50b

WINDOWS                    | MS-DOS                     | MACINTOSH

The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6
  • Microsoft FoxPro for Macintosh, version 2.5b

SUMMARY

You can create generic SELECT statements that programmatically produce result sets of records to be output for viewing in a number of ways. However, in certain instances, a SELECT statement may not produce any records in the query based on the SQL criteria provided.

To avoid having a program act upon an empty result, the system variable _TALLY can be evaluated immediately after a query has been executed in order to determine the number of records that have been selected. For more information about _TALLY, see the code example below.

MORE INFORMATION

The following rudimentary example illustrates the usage of the _TALLY system variable:

   * GENERIC.QPR
   *
   SET STATUS OFF && SET STATUS BAR OFF in FoxPro for Windows
   fyl = GETFILE('DBF','Choose a database:')
   USE (fyl)
   LIST STRUCTURE
   USE
   ACCEPT 'Enter field list, separated by commas (or ENTER for all):' ;
      TO flds
   IF EMPTY(flds)
      flds='*'
   ENDIF
   ?
   ACCEPT 'Enter conditions (or ENTER for none) ' TO cond
   IF EMPTY(cond)
      cond=''
   ELSE
      cond='WHERE '+cond
   ENDIF

   SELECT &flds FROM (fyl) &cond INTO CURSOR query NOCONSOLE

   IF _TALLY>0
      BROWSE
   ELSE
      WAIT WINDOW 'No matching records found...'
   ENDIF

Additional reference words: VFoxWin 3.00 FoxMac FoxDos FoxWin 2.00 2.50 2.50a 2.50b 2.60 null blank KBCategory: KBSubcategory: FxprgSql
Keywords          : kbcode FxprgSql 
Version           : 2.50 2.50a 2.50b 2.60 3.00 | 2.0
Platform          : MACINTOSH MS-DOS WINDOWS


Last Reviewed: May 22, 1998
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.