Microsoft Access 2003 Maximum Capacities
Microsoft Access 2000 and 2002 are similar. Smaller capacities for the older versions of Access are noted in the tables.
These figures are taken from Microsoft sources and published here for the convienience of my students and clients.
I no longer build full applications in Access, but it is excellent for prototypes, and under some circumstances it works well as a front end with SQL Server as a back end. In this situation the application should be an Access project.
| Database specifications | |
| Attribute | Maximum |
| Database (.mdb) file size | 2 gigabyte. However, because your database can include linked tables in other files, its total size is limited only by available storage capacity. |
| Number of objects in a database | 32,768 |
| Modules (including forms and reports with the HasModule property set to True) | 1,000 |
| Number of characters in an object name | 64 |
| Number of characters in a password | 14 |
| Number of characters in a user name or group name | 20 |
| Number of concurrent users | 255 |
| Table specifications | |
| Attribute | Maximum |
| Number of characters in a table name | 64 |
| Number of characters in a field name | 64 |
| Number of fields in a table | 255 |
| Number of open tables | 2048. The actual number may be less because of tables opened internally by Microsoft Access. |
| Table size | 2 gigabytes minus the space needed for the system objects; 1 for Access 2000 and 2002. |
| Number of characters in a Text field | 255 |
| Number of characters in a Memo field | 65,535 when entering data through the user interface; 1 gigabyte when entering data programmatically. |
| Size of an OLE Object field | 1 gigabyte |
| Number of indexes in a table | 32 |
| Number of fields in an index | 10 |
| Number of characters in a validation message | 255 |
| Number of characters in a validation rule | 2048 |
| Number of characters in a table or field description | 255 |
| Number of characters in a record (excluding Memo and OLE Object fields) | 4,000; 2,000 for Access 2000 and 2002 |
| Number of characters in a field property setting | 255 |
| Query specifications | |
| Attribute | Maximum |
| Number of enforced relationships | 32 per table minus the number of indexes that are on the table for fields or combinations of fields that are not involved in relationships |
| Number of tables in a query | 32 |
| Number of fields in a recordset | 255 |
| Recordset size | 1 gigabyte |
| Sort limit | 255 characters in one or more fields |
| Number of levels of nested queries | 50 |
| Number of characters in a cell in the query design grid | 1,024 |
| Number of characters for a parameter in a parameter query | 255 |
| Number of ANDs in a WHERE or HAVING clause | 99; 40 for Access 2000 and 2002 |
| Number of characters in a SQL statement | approximately 64,000 |
| Form and report specifications | |
| Attribute | Maximum |
| Number of characters in a label | 2,048 |
| Number of characters in a text box | 65,535 |
| Form or report width | 22 in. (55.87 cm) |
| Section height | 22 in. (55.87 cm) |
| Height of all sections plus section headers (in Design view) | 200 in. (508 cm) |
| Number of levels of nested forms or reports | 7; 3 for Access 2000 and 2002 |
| Number of fields or expressions you can sort or group on in a report | 10 |
| Number of headers and footers in a report | 1 report header/footer; 1 page header/footer; 10 group headers/footers |
| Number of printed pages in a report | 65,536 |
| Number of controls and sections you can add over the lifetime of the form or report | 754 |
| Number of characters in an SQL statement that serves as the Recordsource or Rowsource property of a form, report, or control (both .mdb and .adp) | 32,750 |
| Macro specifications | |
| Attribute | Maximum |
| Number of actions in a macro | 999 |
| Number of characters in a condition | 255 |
| Number of characters in a comment | 255 |
| Number of characters in an action argument | 255 |
Variable and Table Data Types
|
Data type |
Prefix |
Example |
Note |
|
String (Text) |
str |
strCity |
Text to 255 characters |
|
Date/Time |
dtm |
dtmCreated |
Date and Time |
|
Boolean |
bln |
blnIsNotNull |
Yes/No or True/False, two values |
|
Byte |
byt |
bytMonth |
One Byte, values from 0 to +255 |
|
Integer |
int |
intCount |
Two Bytes; values from -32,768 to +32,767; No fractions |
|
Long |
lng |
lngDistance |
Four Bytes, values from |
|
Single |
sng |
sngPopulation |
Four Bytes single precision, floating point |
|
Currency |
cur |
curTraded |
Fifteen digits to the left, four to the right. Fixed decimal place. |
|
Double |
dbl |
dblClientID |
Eight Bytes |
|
Decimal |
dec |
decMicroseconds |
Twelve Bytes |
|
Object |
obj |
objConnection |
|
|
Variant |
vnt |
vntUserInput |
It can store numeric, string, date/time, Null, or Empty data |
|
Error |
err |
errBadEmailAddress |
