Share via


Visual FoxPro System Capacities

Different parts of Visual FoxPro have system capacity limits. The following tables list these limits.

Note

Some capacities might be limited by available memory and disk space.

Table and Index Files

Feature

Capacity

Maximum # of records per table file.

1 billion

Maximum size of a table file.

2 gigabytes

Maximum size of an FPT file.

2 gigabytes

Maximum # of characters per record.

65,500

Maximum # of fields per record1.

255

Maximum # of tables open at one time2.

65,535

Maximum # of characters per table field.

254

Maximum # of bytes per index key in a non-compact index3.

100

Maximum # of bytes per index key in a compact index3.

240

Maximum # of open index files per table2.

Limited by available memory

Maximum # of open indexes in all work areas2.

Limited by available memory

Maximum # of relations.

Limited by available memory

Maximum length of relational expressions.

Limited by available memory

Fields

Feature

Capacity

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 for 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.

16

Miscellaneous:

64 bits = 8 bytes

Largest number = 10 ^ 308 = 2 ^ 1023

-> 10 bits per exponent + 1 for exponent sign plus 1 for number 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

Feature

Capacity

Default # of variables.

16,384

Maximum # of variables.

65,000

Maximum # of arrays.

65,000

Maximum # of elements per array.

Normal: 2 gigabytes

Member array: 2 gigabytes

Array of member objects: 65,000

Program and Procedure Files

Feature

Capacity

Maximum # of lines in source program files.

Limited by available memory

Maximum size of compiled program modules4.

Limited by available memory

Maximum # of procedures per file.

65,535

Maximum # of nested DO calls.

Tip

You can change the default level of nesting by using a configuration file that includes the STACKSIZE setting. For more information, see Special Terms for Configuration Files.

128 (Default)

Maximum # of READ nesting levels.

5

Maximum # of nested structured programming commands.

384

Maximum # of passed parameters.

26

Maximum # of transactions.

5

Maximum # of compiler levels for #INCLUDE.

4

Reports

Feature

Capacity

Maximum # of objects in a report definition.

Limited by available memory

Maximum height of a single report band.

20 inches | 50.8 cm | 1920 pixels

Maximum # of data grouping levels.

74

Maximum length of character report variable names or a report expression.

255

Maximum # of Detail bands.

20

Maximum # of pages in a report at run time.

65534

In object-assisted preview, limited by available GDI+ resources

Miscellaneous

Feature

Capacity

Maximum # of open windows (all types)2.

Limited by available memory

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.

Operating 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

Maximum file size accessible via low level file functions

2 gigabytes

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

Tasks

How to: Set Up an ODBC Data Source

Display System Information Sample

Concepts

Optimizing Visual FoxPro Startup Speed

Reference

Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)

File Extensions and File Types

Special Terms for Configuration Files

Other Resources

General Reference

Optimizing Your System