"Can I fix feature linked annotation if it's no longer working as expected?" is a question I'm frequently asked. Good news, the answer is "yes, annotation can typically be fixed."
What do I mean when I say "fix your annotation?" How did it break? Why isn't it working as expected?
These are good questions. What I mean is: Your annotation is no longer working as expected. For example, you add a new feature into the feature class and populate the fields, but annotation is not automatically created, or perhaps you make some changes to a field in the feature class, but the annotation is not automatically updated.
There are a few key things to look at when trying to determine how to fix annotation problems:
To check this, work in either ArcCatalog or the Catalog Window
Right-click on the Annotation Feature Class and choose Properties. Click on the Annotation Classes tab.
Highlight one annotation class at a time and choose "SQL Query." If no SQL query is listed, then as long as the attribute information is populated in the feature class attribute table, annotation should appear.
When a new feature is created in the feature class, that feature is assigned an ObjectID (OID) automatically. That OID is used by the relationship class to populate the FeatureID (FID) field in the annotation feature class. If for some reason the OID and FID are no longer in sync, the annotation is no longer feature-linked because the relationship class does not know which two features belong together.
Signs that your ID's are not matching would include:
Your existing feature-linked annotation is no longer updating when you make changes to the feature attributes;
You can no longer move a feature and have the annotation follow;
Although you checked the SQL Query as described above, the annotation isn't working correctly when you add a new feature to the feature class and populate the attributes.
You can check for mismatched IDs by reviewing the OID and FID fields in your feature classes. For example:
Select a feature from your feature class using the Select tool so that the feature is highlighted. The feature should appear light blue on the screen.
Open the feature class attribute table and find the selected feature. Note the OID.
Open the annotation feature class attribute table and do a search on the FID field for the OID of the feature you wrote down above.
If your OID and FID fields match, your SQL query is correct and all of your required attributes are populated in the feature class attribute table, then the problem could either be in your annotation configuration or your relationship class may need to be recreated.
First, check your configuration. In ArcCatalog or the Catalog window, right-click on your annotation feature class and choose Properties. Select the Annotation tab and ensure the following check boxes are selected:
If they are, follow this Step 24 to recreate your relationship class.
If your OID and FID fields do not match, you'll need to manually go through your annotation attribute table and update the FID to match the correct OID.
You could do this in one of two ways:
You could join the feature class attribute table to the annotation attribute table using the OID and FID fields. Any FID field without a match would need to be reviewed and changed to match the correct OID field. This approach is better for a 1:1 ratio of features and annotation,
For a 1:M or M:N ratio, do a spatial join and add the attributes from the feature class to the annotation feature class. This way, you can manually examine all of the connections and make adjustments as necessary.