Visual FoxPro System Capacities

Visual Studio .NET 2003

Some capacities may be limited by available memory.

Category Feature Number

Table and Index Files

  Maximum # of records per table file 1 billion
  Maximum size of a table file 2 gigabytes
  Maximum # of characters per record 65,500
  Maximum # of fields per record(1) 255
  Maximum # of tables open at one time(2) 255
  Maximum # of characters per table field 254
  Maximum # of bytes per index key in a non-compact index(3) 100
  Maximum # of bytes per index key in a compact index(3) 240
  Maximum # of open index files per table(2) unlimited
  Maximum # of open indexes in all work areas(2) unlimited
  Maximum # of relations unlimited
  Maximum length of relational expressions unlimited

Field Characteristics

  Maximum size of character fields 254
  Maximum size of numeric (and float) fields 20
  Maximum number of characters in field names in a free table 10
  Maximum number of characters in field names in a table contained in a database 128
  Minimum value of an integer -2,147,483,647
  Maximum value of an integer 2,147,483,647
  Digits of precision in numeric computations
Visual FoxPro can handle numbers up to 9007199254740992 (2^53) in exact computations.
64 bits = 8 bytes
Largest number = 10 ^ 308    =   2 ^ 1023 -> 10 bits per
   exponent + 1 for exp sign plus 1 for the number's sign => 12 bits.
Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits
LOG10(2^53) = 15.95 decimal digits accuracy.

Variables and Arrays

  Default # of variables 1,024
  Maximum # of variables 65,000
  Maximum # of arrays 65,000
  Maximum # of elements per array 65,000

Program and Procedure Files

  Maximum # of lines in source program files unlimited
  Maximum size of compiled program
  Maximum # of procedures per file unlimited
  Maximum # of nested DO calls 128
  Maximum # of READ nesting levels 5
  Maximum # of nested structured programming commands 384
  Maximum # of passed parameters 27
  Maximum # of transactions 5

Report Designer Capacities

  Maximum # of objects in a report definition(2) unlimited
  Maximum length of a report definition 20 inches
  Maximum # of grouping levels 128
  Maximum length of character report variables 255

Other Capacities

  Maximum # of open windows (all types)(2) unlimited
  Maximum # of open Browse windows 255
  Maximum # of characters per character string or memory variable 16,777,184
  Maximum # of characters per command line 8,192
  Maximum # of characters per label control on a report 252
  Maximum # of characters per macro substituted line 8,192
  Maximum # of open files System limit
  Maximum keystrokes in keyboard macro 1,024
  Maximum fields that can be selected by a SQL SELECT statement 255
  Maximum length of a string literal 255

1. If one or more fields allow null values, the limit is reduced by one to 254 fields.
2. Limited by memory and available file handles. .cdx files use only one file handle.
3. If the collating sequence is set to MACHINE, each character uses one byte. If the collating sequence is not set to MACHINE, each character uses two bytes. If the indexed field supports null values, one additional byte is used in the index key. Note that non-machine indexes are always compact.
4. A program module is one procedure. A program or application can contain an unlimited number of program modules.

See Also

Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx) | Customizing Your System After Installation | Display System Information | Optimizing Your System | File Extensions and File Types | Optimizing Visual FoxPro Startup Speed | Special Terms for Configuration Files