<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: UpdateCursor problems with AddJoin in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143735#M11160</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tableview to Tableview temporary join. Here is the code below in the offending function. I tried playing around with table names in field references to try to get it to work, but to no avail. The script does not even step into the cursor, fails hard on {rows = arcpy.UpdateCursor(calc_table)} line.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
def pieces():
&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Calculates CON_PIECE, DEC_PIECE, CON_VOL and DEC_VOL fields """
&amp;nbsp;&amp;nbsp;&amp;nbsp; """ ~3.5 hours total, ~3 hours for join """
&amp;nbsp;&amp;nbsp;&amp;nbsp; vol_tab = "strata_volumes"
&amp;nbsp;&amp;nbsp;&amp;nbsp; joinField = "STRATA"
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddIndex_management(calc_table, "STRATA", "STRA_IND")
&amp;nbsp;&amp;nbsp;&amp;nbsp; strata_table = arcpy.MakeTableView_management(vol_tab)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Starting join at "+datetime.datetime.now().strftime("%H:%M:%S")
&amp;nbsp;&amp;nbsp;&amp;nbsp; #Syntax
&amp;nbsp;&amp;nbsp;&amp;nbsp; #AddJoin_management (in_layer_or_view, in_field, join_table, join_field, {join_type})
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddJoin_management(calc_table, joinField, strata_table, joinField)
&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.JoinField_management(calc_table, joinField, vol_tab, joinField)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Done join at "+datetime.datetime.now().strftime("%H:%M:%S")
&amp;nbsp;&amp;nbsp;&amp;nbsp; #decid_list = ["Aw","Pb","Bw"]
&amp;nbsp;&amp;nbsp;&amp;nbsp; #con_list = ["Sw", "Sb", "Fb", "Pl", "Pj", "Lt"]
&amp;nbsp;&amp;nbsp;&amp;nbsp; species = [
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("C","Fb","FB_STEMS"),("C","Sw","SW_STEMS"),("C","Pj","PJ_STEMS"), # 0,1,2
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("C","Pl","PJ_STEMS"),("C","Lt","LT_STEMS"),("C","Sb","SB_STEMS"), # 3,4,5
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("D","Bw","BW_STEMS"),("D","Aw","AW_STEMS"),("D","Pb","PB_STEMS")&amp;nbsp; # 6,7,8
&amp;nbsp;&amp;nbsp;&amp;nbsp; ]
&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_fields = [("SP1","SP1_PER"),("SP2","SP2_PER"),("SP3","SP3_PER"),
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("SP4","SP4_PER"),("SP5","SP5_PER")]
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows = arcpy.UpdateCursor(calc_table)
&amp;nbsp;&amp;nbsp;&amp;nbsp; spec_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; row_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = float(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec = float(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_p = float(row.getValue("avi_copy.DEC_PER"))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for sp in sp_fields:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_type = row.getValue("avi_copy."+sp[0])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spp_f = float(row.getValue("avi_copy."+sp[1]))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if spp_f &amp;gt; 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for spec in species:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stem_f = row.getValue(strata_table+"."+spec[2])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if spec[0] == "C" and dec_p &amp;lt; 10.0 and sp_type == spec[1]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = con + (spp_f * stem_f) / (10 - dec_p)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif spec[0] == "D" and dec_p &amp;gt; 0.0 and sp_type == spec[1]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec = dec + (spp_f * stem_f) / dec_p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vol_ha = row.getValue(strata_table+".VOL_HA")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if dec_p == 10:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha * 0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha - con_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif dec_p == 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha * 0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha - dec_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif dec_p &amp;gt; 0 and dec_p &amp;lt; 10:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha * (dec_p / 10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha - dec_vol

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.con_volha = con_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.dec_volha = dec_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.con_piece = con
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.dec_piece = dec

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 07:53:26 GMT</pubDate>
    <dc:creator>MathewCoyle</dc:creator>
    <dc:date>2021-12-11T07:53:26Z</dc:date>
    <item>
      <title>UpdateCursor problems with AddJoin</title>
      <link>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143733#M11158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Background: When trying to improve speed of script, changed JoinField tool to AddJoin tool. The former was taking over 3 hours to join, the later a few seconds.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Later in the script when trying to create an UpdateCursor I get an error when using the temporary join (AddJoin).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Previously ran fine with permanent join (JoinField). Or when exported after temporary join.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this normal or a bug? Does anyone know of a faster way to process joined data?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Edit:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Line giving error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;rows = arcpy.UpdateCursor(calc_table)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;SPAN&gt;Error received:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;Traceback (most recent call last):
&amp;nbsp; File "&amp;lt;pyshell#15&amp;gt;", line 1, in &amp;lt;module&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows = arcpy.UpdateCursor(calc_table)
&amp;nbsp; File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\__init__.py", line 825, in UpdateCursor
&amp;nbsp;&amp;nbsp;&amp;nbsp; return gp.updateCursor(*args)
&amp;nbsp; File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\geoprocessing\_base.py", line 362, in updateCursor
&amp;nbsp;&amp;nbsp;&amp;nbsp; self._gp.UpdateCursor(*gp_fixargs(args)))
RuntimeError: ERROR 999999: Error executing function.)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Sep 2011 20:12:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143733#M11158</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2011-09-27T20:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: UpdateCursor problems with AddJoin</title>
      <link>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143734#M11159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;What are you attempting to update with the 'UpdateCursor' function?&amp;nbsp; The field names will be different with a temporary join.&amp;nbsp; Can you post the rest of your code?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Sep 2011 18:34:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143734#M11159</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2011-09-28T18:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: UpdateCursor problems with AddJoin</title>
      <link>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143735#M11160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tableview to Tableview temporary join. Here is the code below in the offending function. I tried playing around with table names in field references to try to get it to work, but to no avail. The script does not even step into the cursor, fails hard on {rows = arcpy.UpdateCursor(calc_table)} line.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
def pieces():
&amp;nbsp;&amp;nbsp;&amp;nbsp; """ Calculates CON_PIECE, DEC_PIECE, CON_VOL and DEC_VOL fields """
&amp;nbsp;&amp;nbsp;&amp;nbsp; """ ~3.5 hours total, ~3 hours for join """
&amp;nbsp;&amp;nbsp;&amp;nbsp; vol_tab = "strata_volumes"
&amp;nbsp;&amp;nbsp;&amp;nbsp; joinField = "STRATA"
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddIndex_management(calc_table, "STRATA", "STRA_IND")
&amp;nbsp;&amp;nbsp;&amp;nbsp; strata_table = arcpy.MakeTableView_management(vol_tab)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Starting join at "+datetime.datetime.now().strftime("%H:%M:%S")
&amp;nbsp;&amp;nbsp;&amp;nbsp; #Syntax
&amp;nbsp;&amp;nbsp;&amp;nbsp; #AddJoin_management (in_layer_or_view, in_field, join_table, join_field, {join_type})
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddJoin_management(calc_table, joinField, strata_table, joinField)
&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.JoinField_management(calc_table, joinField, vol_tab, joinField)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Done join at "+datetime.datetime.now().strftime("%H:%M:%S")
&amp;nbsp;&amp;nbsp;&amp;nbsp; #decid_list = ["Aw","Pb","Bw"]
&amp;nbsp;&amp;nbsp;&amp;nbsp; #con_list = ["Sw", "Sb", "Fb", "Pl", "Pj", "Lt"]
&amp;nbsp;&amp;nbsp;&amp;nbsp; species = [
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("C","Fb","FB_STEMS"),("C","Sw","SW_STEMS"),("C","Pj","PJ_STEMS"), # 0,1,2
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("C","Pl","PJ_STEMS"),("C","Lt","LT_STEMS"),("C","Sb","SB_STEMS"), # 3,4,5
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("D","Bw","BW_STEMS"),("D","Aw","AW_STEMS"),("D","Pb","PB_STEMS")&amp;nbsp; # 6,7,8
&amp;nbsp;&amp;nbsp;&amp;nbsp; ]
&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_fields = [("SP1","SP1_PER"),("SP2","SP2_PER"),("SP3","SP3_PER"),
&amp;nbsp;&amp;nbsp;&amp;nbsp; ("SP4","SP4_PER"),("SP5","SP5_PER")]
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows = arcpy.UpdateCursor(calc_table)
&amp;nbsp;&amp;nbsp;&amp;nbsp; spec_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; row_count = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = float(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec = float(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_p = float(row.getValue("avi_copy.DEC_PER"))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for sp in sp_fields:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_type = row.getValue("avi_copy."+sp[0])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spp_f = float(row.getValue("avi_copy."+sp[1]))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if spp_f &amp;gt; 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for spec in species:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stem_f = row.getValue(strata_table+"."+spec[2])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if spec[0] == "C" and dec_p &amp;lt; 10.0 and sp_type == spec[1]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = con + (spp_f * stem_f) / (10 - dec_p)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif spec[0] == "D" and dec_p &amp;gt; 0.0 and sp_type == spec[1]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec = dec + (spp_f * stem_f) / dec_p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vol_ha = row.getValue(strata_table+".VOL_HA")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if dec_p == 10:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha * 0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha - con_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif dec_p == 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha * 0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha - dec_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif dec_p &amp;gt; 0 and dec_p &amp;lt; 10:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec_vol = vol_ha * (dec_p / 10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con_vol = vol_ha - dec_vol

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.con_volha = con_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.dec_volha = dec_vol
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.con_piece = con
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.avi_copy.dec_piece = dec

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:53:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updatecursor-problems-with-addjoin/m-p/143735#M11160</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2021-12-11T07:53:26Z</dc:date>
    </item>
  </channel>
</rss>

