<?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 Update fields via a form using VBA in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/update-fields-via-a-form-using-vba/m-p/245799#M6352</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm stuck with some VBA code and would really appeciate some help.&amp;nbsp; I've got a form which shows a multi-select list where the user can select addresses.&amp;nbsp; If those addresses are selected, I want the relevant record to be changed to 'returned' in the field called 'status', but it doesn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EDCODE is the district number for addresses and selectedED is the variable for the district that the user has previously selected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub CommandButton1_Click()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Set all selected addresses to 'returned'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMxDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMxDoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMaps As IMaps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMaps = pMxDoc.Maps&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMap As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMap = pMaps.Item(0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pLayer As ILayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pPointerLayerDef As IFeatureLayerDefinition&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim g As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;g = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For g = 0 To pMap.LayerCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pLayer = pMap.Layer(g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If pLayer.Name = "Pointer" Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseLayerDef = pMap.Layer(g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next g&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFLayer As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFLayer = pPointerLayerDef&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFClass1 As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFClass1 = pHouseFLayer.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFields As IFields&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFields = pHouseFClass1.Fields&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim intStatus As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intStatus = pHouseFields.FindField("STATUS")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pField As IField&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pField = pHouseFields.Field(intStatus)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFieldEdit As IFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFieldEdit = pField&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pFieldEdit.Editable = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim intEdCode As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intEdCode = pHouseFields.FindField("EDCODE")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFilter1 As IQueryFilter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFilter1 = New QueryFilter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pFilter1.WhereClause = "EDCODE = " &amp;amp; SelectedED&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFCursor1 As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = pHouseFClass1.Update(pFilter1, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeature1 As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature1 = pFCursor1.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim x As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;x = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do Until pFeature1 Is Nothing&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; If ListBox1.selected(x) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature1.Value(intStatus) = "returned"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature1.Value(intStatus) = " "&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFCursor1.UpdateFeature pFeature1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature1 = pFCursor1.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = x + 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;frmAddressUpdate.Hide&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help appreciated - thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 May 2011 15:42:08 GMT</pubDate>
    <dc:creator>DavidSloan</dc:creator>
    <dc:date>2011-05-10T15:42:08Z</dc:date>
    <item>
      <title>Update fields via a form using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/update-fields-via-a-form-using-vba/m-p/245799#M6352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm stuck with some VBA code and would really appeciate some help.&amp;nbsp; I've got a form which shows a multi-select list where the user can select addresses.&amp;nbsp; If those addresses are selected, I want the relevant record to be changed to 'returned' in the field called 'status', but it doesn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EDCODE is the district number for addresses and selectedED is the variable for the district that the user has previously selected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub CommandButton1_Click()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Set all selected addresses to 'returned'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMxDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMxDoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMaps As IMaps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMaps = pMxDoc.Maps&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMap As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMap = pMaps.Item(0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pLayer As ILayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pPointerLayerDef As IFeatureLayerDefinition&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim g As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;g = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For g = 0 To pMap.LayerCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pLayer = pMap.Layer(g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If pLayer.Name = "Pointer" Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseLayerDef = pMap.Layer(g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next g&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFLayer As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFLayer = pPointerLayerDef&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFClass1 As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFClass1 = pHouseFLayer.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pHouseFields As IFields&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pHouseFields = pHouseFClass1.Fields&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim intStatus As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intStatus = pHouseFields.FindField("STATUS")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pField As IField&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pField = pHouseFields.Field(intStatus)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFieldEdit As IFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFieldEdit = pField&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pFieldEdit.Editable = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim intEdCode As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intEdCode = pHouseFields.FindField("EDCODE")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFilter1 As IQueryFilter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFilter1 = New QueryFilter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pFilter1.WhereClause = "EDCODE = " &amp;amp; SelectedED&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFCursor1 As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = pHouseFClass1.Update(pFilter1, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeature1 As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature1 = pFCursor1.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim x As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;x = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do Until pFeature1 Is Nothing&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; If ListBox1.selected(x) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature1.Value(intStatus) = "returned"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature1.Value(intStatus) = " "&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFCursor1.UpdateFeature pFeature1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature1 = pFCursor1.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = x + 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFCursor1 = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;frmAddressUpdate.Hide&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help appreciated - thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 15:42:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/update-fields-via-a-form-using-vba/m-p/245799#M6352</guid>
      <dc:creator>DavidSloan</dc:creator>
      <dc:date>2011-05-10T15:42:08Z</dc:date>
    </item>
  </channel>
</rss>

