In ArcMap you can calculate a field on a joined table to just move the attributes from one column to another with just an = sign. Since my layer has feature linked anno on 7 different layers the calculation has to be done in an edit session. I tried this and it ran over three hours and not sure if it was going to finish. This won't work since I have to do this on about 30 fields.
I am trying to do this in ArcPy. I was using arcpy.CalculateField_management. I don't think that works based on the error I received. The error is invalid property. I think this means that it wants to make a calculation not just move attributes.
Here is my sample code:
import arcpy from arcpy import env anno_conn = "\\\\any database" env.workspace = anno_conn #Variables Table_A = "data_1" Table_B = "data_r3" Layer_A = Table_A + "_lyr" Layer_B = Table_B + "_lyr" try: #join tables arcpy.MakeFeatureLayer_management(Table_A, Layer_A) arcpy.MakeFeatureLayer_management(Table_B, Layer_B) arcpy.AddJoin_management(Layer_A, "visi_link", Layer_B, "prior_visi") # Using an edit session - feature linked layer can't be edited outside an edit session # inside try edits will be saved if successful, will roll back if an exception is thrown with arcpy.da.Editor(env.workspace) as edit: arcpy.CalculateField_management(Layer_A, Table_A + ".link_id", "!" + Table_B + ".link_id!", "PYTHON") except Exception, err: traceback.print_exc()
It seems to work up until the Calc field line.