Where 'Number of shapefile records does not match number of table records' Error occurs; I found that none of the Arc tools would help me but QGIS has the ability to open just the shapefile; in my case the DBF hadn't updated that I had deleted records from the shapefile.

Fortunately by selecting just the 160000 or so of the 230000 atrributes that still were present in the shapefile I could export these as a brand new shapefile which Arc would recognize. I also used the QGIS check geometries tool which also worked fine.

Just thought I'd put this out there as other answers on this topic hadn't mentioned using QGIS to fix an error of this nature.

  • this used to work freegeographytools.com/2008/fixing-broken-shapefiles – Mapperz Nov 8 '18 at 19:05
  • link to Shape Checker by Andrew, community.esri.com/thread/177037 – klewis Nov 8 '18 at 19:48
  • 3
    Welcome to GIS SE. Thank you for taking the Tour. We use a question/answer model here, so the question and answer ought to be separate entries. It's acceptable to post an answer to your own question (it's encouraged), but since what you're recommending is extremely risky, your answer might not get many upvotes. In fact, if you don't know exactly which rows had been deleted, this is a quick way to further corrupt your data (especially with a large number of records which can't be individually verified). The best way to fix a corrupted shapefile is to recover all components from the same backup. – Vince Nov 8 '18 at 19:49

Short answer: Don't do this (as @Vince suggests in his comment).

Longer answer: Shapefiles "tie" together their geometries (.shp) and attribute data (.dbf) files by assuming that they are in the same order. So you have lost a few 100,000 rows of attributes, probably from all over the file. But by opening the file in QGIS and forcing the remaining data to "link" to the top 160k geometries you have completely destroyed your dataset's integrity.

Not the answer you're looking for? Browse other questions tagged or ask your own question.