Hi again,I've discovered the problem is mis-matched field types (which is another issue altogether - they should be all the same!) My GIS field type is correct, the join DB field type is incorrect.So I tried to put a test in for where the GIS field type is Double (which is the type it always fails on, as some of the DB field types are Text instead of Double).if LayerFieldType == "Double":
arcpy.CalculateField_management(LayerName, FC + "." + gisField, float("!" + tableNameOutput + "." + dbField + "!"), "PYTHON", "")
else:
arcpy.CalculateField_management(LayerName, FC + "." + gisField, "[" + tableNameOutput + "." + dbField + "]", "VB", "")
however it fails on the Calculate Field with the conversion to float or double. I'm not sure quite how to structure the code to do a conversion of the field value within the CalculateField tool. The code in the else statement works.FC is the name of my feature class, tableNameOutput is the name of my table. These are prefixed on all field names due to the join.Cheers,Mike.