How to Determine Number of Records Returned by SQL-SELECT

Last reviewed: April 30, 1996
Article ID: Q113808
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: kbprg kbcode
KBSubcategory: FxprgSql


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 30, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.