Public Sub SelectMapFeaturesByAttributeQuery(ByVal activeView As IActiveView, ByVal featureLayer As IFeatureLayer, ByVal whereClause As System.String) If activeView Is Nothing OrElse featureLayer Is Nothing OrElse whereClause Is Nothing Then Return End If Dim featureSelection As IFeatureSelection = TryCast(featureLayer, IFeatureSelection) ' Dynamic Cast ' Set up the query Dim queryFilter As IQueryFilter = New QueryFilterClass queryFilter.WhereClause = whereClause ' Invalidate only the selection cache. Flag the original selection activeView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing) ' Perform the selection featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, False) ' If PID found, Flag the new selection If featureSelection.SelectionSet.Count() = 0 Then MsgBox("Can't find the PID") Else activeView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing) End If ' Zoom to selected feature, if checkmarked If CheckBox1.CheckState = 1 Then Dim pUID As New UID pUID.Value = "esriArcMapUI.ZoomToSelectedCommand" My.ArcMap.Application.Document.CommandBars.Find(pUID).Execute() End If ' Display Owner's Name and PAN in message box Dim cursor As IFeatureCursor Dim feature As IFeature Dim patspan As String Dim taxname As String featureSelection.SelectionSet.Search(Nothing, False, cursor) feature = cursor.NextFeature patspan = feature.Fields.FindField("patspan") taxname = feature.Fields.FindField("taxname") Do Until feature Is Nothing MsgBox("PAN: " + feature.Value(patspan) + vbNewLine + "Owner's Name: " + feature.Value(taxname)) feature = cursor.NextFeature Loop End Sub End Class
Solved! Go to Solution.
cursor = featureLayer.Search(queryFilter, False)