Microsoft Access places one of these error values in a field when it cannot find necessary information, cannot carry out an expression, or cannot store a value within the limits set for the field. The following sections explain what these error values mean, and list some of the reasons why Access may display these error values.
The #Error error value means that Access cannot evaluate an expression. For example, you may have supplied incorrect or too few arguments for an aggregate (totals) function, you may have used a parameter query as the domain for an aggregate function, or you may have made a circular reference in the expression.
In this example, the table name is misspelled. It should be "Employee" instead of "Employe."
In this example, the alias FirstName is also part of the expression.
Circular reference caused by alias 'FirstName' in query definition's SELECT list.
In this example, the text box name (FirstName) is also part of the expression.
The #Num! error value means that the value in the field is too large (either positively or negatively) to be stored in the field, based on the field's DataType or FieldSize property setting.
The #Name? error value means that the name that you typed as the source of the value in the field is not valid. You may have misspelled the name, you may have omitted the equal sign (=) before the expression, or the source itself may have been deleted.
NOTE: In Microsoft Access 2000, an incorrect reference to a field in a subform or subreport returns #Error rather than #Name?.
A field name on the form or report that does not match the name of the field in the underlying table.
A control name that is the same as one of the fields in the underlying table.
The #Div/0! error value means that you are trying to divide a number by zero (0), either directly in an expression (for example, 8/0), or by using a value from a field whose value is zero.
The #Deleted error value means that the record being referred to has been deleted.
The record has been locked by another user and Access cannot read the data.
There are two or more instances of Access running on the same computer. Access treats each open copy of the database as a separate user.
Your code has opened a recordset and has a lock on a record.
It is important to note that Access uses page locking instead of record locking. Access stores records in groups of 2048 bytes, called pages. A single page may hold only one record, or it may hold many records. If each record requires only 200 bytes, up to 10 records may be stored on a page. When Access places a lock on a record, it locks that record's page. If there are 10 records on the page, all 10 records on that page are locked.