<?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: Help with CalculateField using variable in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120113#M9428</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Kept working on the issue to try to simplify code. Saw no need to use cursor at all.&amp;nbsp; However, the CalculateField still presents issues.&lt;BR /&gt;&lt;BR /&gt;If I &lt;STRONG&gt;hardcode&lt;/STRONG&gt; the values for AOI and SharedAOI within the PLines attribute table, the entire process works perfectly.&lt;BR /&gt;&lt;BR /&gt;However, if I attempt to use a variable, ie: myaoi = '69257', mysharedaoi = 'value_from_current_selected_AOI', still resulting in the&lt;BR /&gt;values being shown as 'xxxxx', exactly like hardcoded values, then I will get an error everytime. It seems that each combination of quotes, double quotes, etc. will produce a different error. Sometimes an empty selection set, and sometimes can't acquire data lock.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#Hardcoded AOI's &amp;amp; SharedAOI's for CalculateField works as expected.

#This sequence uses selected aoi to grab all parcel lines sharing segment, then selects adjacent AOI's
#sharing segment with parcel lines.
arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
arcpy.SelectLayerByLocation_management("AOI","SHARE_A_LINE_SEGMENT_WITH","PLines")
aoilst = []
with arcpy.da.SearchCursor("AOI","AOI") as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print row[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aoilst.append(row[0])

del cursor, row

myaoi = '69257'
fc = "AOI"

for eachaoi in aoilst:
&amp;nbsp;&amp;nbsp;&amp;nbsp; mysharedaoi = "'" + eachaoi + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "mysharedaoi = " + mysharedaoi
&amp;nbsp;&amp;nbsp;&amp;nbsp; sbaAOI = "AOI = '" + eachaoi + "'"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("Current AOI selected = " + eachaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print sbaAOI
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("AOI","NEW_SELECTION",sbaAOI)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; if int(eachaoi) &amp;lt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("SharedAOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI",myaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", mysharedaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif int(eachaoi) &amp;gt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("AOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", myaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI", mysharedaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;Once again, thank you for any assistance with this problem.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At least part of your problem is that you are not specifying that your calculations are to be done using Python_9.3 as the Field Calculator parser.&amp;nbsp; Therefore your calculations are defaulting to using VB Script instead, which only supports double quotes for strings.&amp;nbsp; Specify that you want Python_9.3 as the parser so you can use Python syntax throughout your code.&amp;nbsp; I.e.:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI", mysharedaoi, "PYTHON_9.3")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The fact that you did not get an error with the hardcoded values is probably because the hardcoded '99999' is being sent to the calculator as a number, which VB will convert to a string.&amp;nbsp; But it won't accept a string of '99999' itself, i.e., "'99999'" will fail.&amp;nbsp; Your variable is passing in the latter value, not the former.&amp;nbsp; The failure is due the the fact that the single quotes around a number is all VB sees, which is not a number or a string as far as VB is concerned.&amp;nbsp; It is strictly an invalid entry to VB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, only Python is agnostic about single and double quotes for strings, not VB Script, and in this case it would be best to eliminate VB Script from the workflow so you only need to follow Python rules.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You may still need to add some kind of test for NULL values if you think any exist, but your problems are probably due to SQL requiring single quoted strings, while VB wants double quotes strings, so nothing you do will satisfy both with a single value.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 06:59:46 GMT</pubDate>
    <dc:creator>RichardFairhurst</dc:creator>
    <dc:date>2021-12-11T06:59:46Z</dc:date>
    <item>
      <title>Help with CalculateField using variable</title>
      <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120111#M9426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have been working on this on my own for some time &amp;amp; many frustrations, but it's time I ask for some help with my problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I want to do is calculate two fields in my parcel lines data depending on the value of the 2 AOI's (polygons) on either side of &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the parcel line.&amp;nbsp; For example, if the polygon on the left of a line has an AOI value of "11111" and the polygon on the right of the line&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;has an AOI value of "22222", the two fields in my parcel line data would be calc'd as AOI = "11111" and SharedAOI = "22222".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been copying portions of my script into the python window of arcmap and everything seems to work with my search cursors,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;select by attributes, and select by locations.&amp;nbsp; The problem is with CalculateField.&amp;nbsp; If I hardcode a value of "11111" &amp;amp; "22222", the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;entire process works, but if I try using a variable for those values, I get an error.&amp;nbsp; Can you please take a look and tell me what is&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;wrong. If I am going about this totally wrong, feel free to make suggestions.&amp;nbsp; I am fairly new to python, so any help would be&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;greatly appreciated.&amp;nbsp; Sorry about all the print statements and refreshes. Working on my own I keep trying to see how everything &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;processes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;myaoi = '69257'
fc = "AOI"

for eachaoi in aoilst:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #List of all the AOI's that surround my AOI = 69257
&amp;nbsp;&amp;nbsp;&amp;nbsp; sbaAOI = "AOI = '" + eachaoi + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("Current AOI selected = " + eachaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print sbaAOI
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("AOI","NEW_SELECTION",sbaAOI)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.da.SearchCursor(fc, "AOI") as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysharedaoi = ("'" + row[0] + "'")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print mysharedaoi
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if int(row[0]) &amp;lt; int(myaoi):
&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; print ("SharedAOI needs to be calc'd with myaoi")
&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; #arcpy.CalculateField_management("PLines", "AOI",'99999')
&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; arcpy.CalculateField_management("PLines", "AOI", "mysharedaoi") 
&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; arcpy.CalculateField_management("PLines", "SharedAOI","myaoi")
&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; arcpy.RefreshTOC()
&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; arcpy.RefreshActiveView()
&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; print ("lines calculated")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif int(row[0]) &amp;gt; int(myaoi):
&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; print ("AOI needs to be calc'd with myaoi")
&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; arcpy.CalculateField_management("PLines", "AOI", "myaoi")
&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; #arcpy.CalculateField_management("PLines", "SharedAOI",'99999')
&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; arcpy.CalculateField_management("PLines", "SharedAOI","mysharedaoi")
&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; arcpy.RefreshTOC()
&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; arcpy.RefreshActiveView()
&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; print ("lines calculated")&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 31 Aug 2013 17:00:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120111#M9426</guid>
      <dc:creator>MichaelHillig</dc:creator>
      <dc:date>2013-08-31T17:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: Help with CalculateField using variable</title>
      <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120112#M9427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Kept working on the issue to try to simplify code. Saw no need to use cursor at all.&amp;nbsp; However, the CalculateField still presents issues.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I &lt;/SPAN&gt;&lt;STRONG&gt;hardcode&lt;/STRONG&gt;&lt;SPAN&gt; the values for AOI and SharedAOI within the PLines attribute table, the entire process works perfectly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, if I attempt to use a variable, ie: myaoi = '69257', mysharedaoi = 'value_from_current_selected_AOI', still resulting in the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;values being shown as 'xxxxx', exactly like hardcoded values, then I will get an error everytime. It seems that each combination of quotes, double quotes, etc. will produce a different error. Sometimes an empty selection set, and sometimes can't acquire data lock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#Hardcoded AOI's &amp;amp; SharedAOI's for CalculateField works as expected.

#This sequence uses selected aoi to grab all parcel lines sharing segment, then selects adjacent AOI's
#sharing segment with parcel lines.
arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
arcpy.SelectLayerByLocation_management("AOI","SHARE_A_LINE_SEGMENT_WITH","PLines")
aoilst = []
with arcpy.da.SearchCursor("AOI","AOI") as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print row[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aoilst.append(row[0])

del cursor, row

myaoi = '69257'
fc = "AOI"

for eachaoi in aoilst:
&amp;nbsp;&amp;nbsp;&amp;nbsp; mysharedaoi = "'" + eachaoi + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "mysharedaoi = " + mysharedaoi
&amp;nbsp;&amp;nbsp;&amp;nbsp; sbaAOI = "AOI = '" + eachaoi + "'"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("Current AOI selected = " + eachaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print sbaAOI
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("AOI","NEW_SELECTION",sbaAOI)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; if int(eachaoi) &amp;lt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("SharedAOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI",myaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", mysharedaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif int(eachaoi) &amp;gt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("AOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", myaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI", mysharedaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once again, thank you for any assistance with this problem.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:59:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120112#M9427</guid>
      <dc:creator>MichaelHillig</dc:creator>
      <dc:date>2021-12-11T06:59:43Z</dc:date>
    </item>
    <item>
      <title>Re: Help with CalculateField using variable</title>
      <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120113#M9428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Kept working on the issue to try to simplify code. Saw no need to use cursor at all.&amp;nbsp; However, the CalculateField still presents issues.&lt;BR /&gt;&lt;BR /&gt;If I &lt;STRONG&gt;hardcode&lt;/STRONG&gt; the values for AOI and SharedAOI within the PLines attribute table, the entire process works perfectly.&lt;BR /&gt;&lt;BR /&gt;However, if I attempt to use a variable, ie: myaoi = '69257', mysharedaoi = 'value_from_current_selected_AOI', still resulting in the&lt;BR /&gt;values being shown as 'xxxxx', exactly like hardcoded values, then I will get an error everytime. It seems that each combination of quotes, double quotes, etc. will produce a different error. Sometimes an empty selection set, and sometimes can't acquire data lock.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#Hardcoded AOI's &amp;amp; SharedAOI's for CalculateField works as expected.

#This sequence uses selected aoi to grab all parcel lines sharing segment, then selects adjacent AOI's
#sharing segment with parcel lines.
arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
arcpy.SelectLayerByLocation_management("AOI","SHARE_A_LINE_SEGMENT_WITH","PLines")
aoilst = []
with arcpy.da.SearchCursor("AOI","AOI") as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print row[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aoilst.append(row[0])

del cursor, row

myaoi = '69257'
fc = "AOI"

for eachaoi in aoilst:
&amp;nbsp;&amp;nbsp;&amp;nbsp; mysharedaoi = "'" + eachaoi + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "mysharedaoi = " + mysharedaoi
&amp;nbsp;&amp;nbsp;&amp;nbsp; sbaAOI = "AOI = '" + eachaoi + "'"&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("Current AOI selected = " + eachaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp; print sbaAOI
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("AOI","NEW_SELECTION",sbaAOI)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("PLines","SHARE_A_LINE_SEGMENT_WITH","AOI")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp; if int(eachaoi) &amp;lt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("SharedAOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI",myaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", mysharedaoi)&amp;nbsp; Variables replaced with hardcoded values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif int(eachaoi) &amp;gt; int(myaoi):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("AOI needs to be calc'd with myaoi")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "AOI", myaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.CalculateField_management("PLines", "SharedAOI", mysharedaoi)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI",'99999')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "AOI", '69257')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print ("lines calculated")&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;Once again, thank you for any assistance with this problem.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At least part of your problem is that you are not specifying that your calculations are to be done using Python_9.3 as the Field Calculator parser.&amp;nbsp; Therefore your calculations are defaulting to using VB Script instead, which only supports double quotes for strings.&amp;nbsp; Specify that you want Python_9.3 as the parser so you can use Python syntax throughout your code.&amp;nbsp; I.e.:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management("PLines", "SharedAOI", mysharedaoi, "PYTHON_9.3")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The fact that you did not get an error with the hardcoded values is probably because the hardcoded '99999' is being sent to the calculator as a number, which VB will convert to a string.&amp;nbsp; But it won't accept a string of '99999' itself, i.e., "'99999'" will fail.&amp;nbsp; Your variable is passing in the latter value, not the former.&amp;nbsp; The failure is due the the fact that the single quotes around a number is all VB sees, which is not a number or a string as far as VB is concerned.&amp;nbsp; It is strictly an invalid entry to VB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, only Python is agnostic about single and double quotes for strings, not VB Script, and in this case it would be best to eliminate VB Script from the workflow so you only need to follow Python rules.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You may still need to add some kind of test for NULL values if you think any exist, but your problems are probably due to SQL requiring single quoted strings, while VB wants double quotes strings, so nothing you do will satisfy both with a single value.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:59:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120113#M9428</guid>
      <dc:creator>RichardFairhurst</dc:creator>
      <dc:date>2021-12-11T06:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: Help with CalculateField using variable</title>
      <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120114#M9429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you for your reply. After continuing to work on the problem, I discovered the same problem myself. So I changed all my &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CalculateField lines adding the critical "PYTHON_9.3" to the end of my line.&amp;nbsp; After a lot of testing, I can confirm that this fix was&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;exactly what was needed and it works perfectly.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 00:27:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120114#M9429</guid>
      <dc:creator>MichaelHillig</dc:creator>
      <dc:date>2013-09-02T00:27:15Z</dc:date>
    </item>
    <item>
      <title>Re: Help with CalculateField using variable</title>
      <link>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120115#M9430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Thank you for your reply. After continuing to work on the problem, I discovered the same problem myself. So I changed all my &lt;BR /&gt;CalculateField lines adding the critical "PYTHON_9.3" to the end of my line.&amp;nbsp; After a lot of testing, I can confirm that this fix was&lt;BR /&gt;exactly what was needed and it works perfectly.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Glad you fixed it, fellow Riv. Co. coworker.&amp;nbsp; Have a happy Labor Day holiday.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 01:12:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/help-with-calculatefield-using-variable/m-p/120115#M9430</guid>
      <dc:creator>RichardFairhurst</dc:creator>
      <dc:date>2013-09-02T01:12:13Z</dc:date>
    </item>
  </channel>
</rss>

