I have an MXD used to join many feature classes to the same table. This table has moved to a different workspace and so I need to update all the Joins to point to the new workspace. I don't see any tools in ArcMap for modifying an existing join.

How can I do this?

  • ...I haven't used ESRI software in ages, but wasn't one of the (early) strengths of ArcCatalog to manage those things automatically? – ThingumaBob Jun 7 '18 at 22:19
  • Does the path come up in ArcCatalog when you right click on the MXD and 'Set Data Sources'? If so you should be able to change that path once for all joins in that MXD. That is the only thing I can think of to change the path to joined data without ArcObjects; there isn't a edit join dialog that I know of.. perhaps one of the ArcScripts might. – Michael Stimson Jun 7 '18 at 22:19
  • @MichaelStimson thanks anyways, but unfortunately that only changes the source of the table in the MXD. The Join still references the other table. – Stella Jun 7 '18 at 23:27
  • 1
    It probably doesn't help but the join (or relate) object is IDisplayRelationshipClass which is implemented by IFeatureLayer, in the properties of the IDisplayRelationshipClass there is RelationshipClass which is of type IRelationshipClass which can be recreated with the new data using IRelationshipClass.CreateRelationsip (see resources.arcgis.com/en/help/arcobjects-net/componenthelp/…).. all of the properties of an existing relationship class are read-only. This is something that is achievable with ArcObjects in python. – Michael Stimson Jun 8 '18 at 0:19

The Remove Join (arcpy.RemoveJoin_management) and Add Join (arcpy.AddJoin_management) tools are available in Python. You should be able to iterate through the layers of your mxd using arcpy.mapping methods, find layers that have the join field you expect and process the remove Join and Add Join tools on the layers.

  • Thanks, I ended up not using python, because by the time I would have written a script, I could have just done it manually. I wish there was a sample script readily available to adapt to my needs. oh well... – Stella Jun 13 '18 at 21:40

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.