In ArcMap (10.2), I accidentally calculated the wrong field outside of an edit session, so there was no way to reverse my action. I restored a previous version (shadow copy) and joined the tables together using the ObjectID. However, the field calculator was greyed out when I tried to restore that field's data. Why and how do I fix it?

Fundamentals of Field Calculations have a section for troubleshooting why these buttons are greyed out, but these do not fix the problem.

  • I came across the same problem. And my two tables don't share the same at all. Any idea why that happened? Thanks – AndrewLebron Dec 23 '16 at 20:42

The problem was that both the current working copy and the shadow copy tables were named the same. The join went fine but the field calculator and geometry were greyed out.

To fix this, I simply renamed the backup table name to something different. I was able to field calculate and essentially restore the data.

I did not find this resolution documented anywhere, but took a guess after a few minutes of searching around and it fixed the problem. I also searched SE before posting this QA, so if it is answered somewhere else, my apologies.

  • Has anyone ever discovered a reason for this? – traggatmot Dec 9 '16 at 16:05
  • Well, the easy answer is that since the tables and fields are exactly the same, the code doesn't know if you want 'table(1).Field' or 'table(2).Field' I don't think it should rename the tables at random because you might mess up a process later on thinking you were working on one and not the other. I think the best answer is for ArcMAP to alert the user when both tables are named the same and ask for a potential rename or note that the fields can't be edited. – Barrett Dec 12 '16 at 1:08

I found that after you make the join, you have to export the data as a new shapefile and it will be editable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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