Error: Number of shapes does not match number of table records

Error Message

The following error occurs when adding a shapefile to a view in ArcView 3.x or an ArcMap Data Frame:

"Number of shapes does not match number of table records."

Cause

The error is returned when the number of features in the shapefile does not match the number of records in the DBF table, which is the attribute table of the shapefile. Below are some common causes that produce the error.

  • Adding or deleting records to the DBF table in another software package, such as Microsoft Excel or Microsoft Access.
  • A system failure occurs while the shapefile is being edited and the shapefile is saved in a corrupted state.
  • More than one user is editing the same shapefile at the same time.
  • While adding features to the shapefile, double-clicking the mouse. A record with zero area is added to the table, but the feature has no geometry and is not visible in the view.

Solution or Workaround

The shapefile may be recovered by one of the following methods.

Warning:
It is highly recommended that a backup copy of the damaged shapefile be made before attempting to use any of these methods.
  • Use Andrew Williamson's ShapeFile Repairer Utility. This utility is a stand-alone product and does not require either ArcView GIS or ArcGIS Desktop to run.
    Note:	For the ShapeFile Repairer Utility to work correctly, ensure the language setting of the computer matches the language used to create the shapefile.
  • Edit the DBF file.
    Note:
    This method may be attempted multiple times.
    1. Open the DBF file.
    2. Delete the last record.
    3. Save and close the DBF file.
    4. Load the shapefile into your view.
  • Download the Shapefile Repair Tool. Run the tool on the damaged shapefile.
  • Use the ArcInfo Workstation SHAPEARC command.
    1. Run the SHAPEARC command on the shapefile.
    2. Run DESCRIBE on the output coverage.
    3. Make note of the number of shapes.
    4. Open the DBF corresponding to the shapefile.
    5. Compare the number of records of the DBF to the number of shapes resulting from the DESCRIBE command.
      • If the number of DBF records is more than the number of shapes, delete records until the number of shapes matches the number of records.
      • If the number of DBF records is less than the number of shapes, add records until the number of shapes matches the number of records.
    6. Save the DBF file.

      The shapefile should open in ArcView, but there is no guarantee that attribute information for the shapefile will be correct. To test if the attribute data is assigned to the correct feature, do the following:
      1. Load the shapefile into a new view.
      2. Open the attribute table for the shapefile.
      3. Tile the view and the table.
      4. Select a record.
      5. Compare the selected record with the selected feature in the view.
      6. If the feature does not correspond with the attribute, determine whether and where to add or delete records. The DBF must be edited appropriately, keeping in mind that the number of records must equal the number of shapes.

        Repeat the comparison steps until the features and attributes are synchronized.

Related Information