Hi,
I am having problem with my code I am trying to use zoom Modules in my project, BUT
after I run the code, it goes directly to the layer but with deleting all the information in Attribute table?
here is my code ?
Option Explicit
Private pMxDoc As IMxDocument
Private pFLayer As IFeatureLayer
Private pEnumLayer As IEnumLayer
Private pCurrentLayer As IFeatureLayer
Private pFClass As IFeatureClass
Private pFeature As IFeature
Public Sub ZoomToSDnumber(SDnumberId As String)
Set pMxDoc = ThisDocument
Set pFLayer = pMxDoc.FocusMap.Layer(0)
Set pFClass = pFLayer.FeatureClass
Dim pEnv As IEnvelope
Dim pActView As IActiveView
Dim pFCursor As IFeatureCursor
Dim pQFilt As IQueryFilter
Dim queryStr As String
queryStr = "SD_NUMBER = '" & SDnumberId & "'"
Set pActView = pMxDoc.ActiveView
Set pQFilt = New QueryFilter
pQFilt.WhereClause = queryStr
Set pFCursor = pFClass.Search(pQFilt, True)
Set pFeature = pFCursor.NextFeature
If pFeature Is Nothing Then
MsgBox "Check spelling and case", vbCritical + vbExclamation, "State Not Found!"
Else
pActView.Extent = pFeature.Shape.Envelope
Set pEnv = pActView.Extent
pEnv.Expand 1.1, 1.1, True
pActView.Extent = pEnv
End If
Dim flDef As IFeatureLayerDefinition
Set flDef = pFLayer
flDef.DefinitionExpression = "SDNUMBER='" & SDnumberId & "'"
pActView.Refresh
pMxDoc.UpdateContents
End Sub
Public Function CreateSelLayer(SDnumberId As String)
Set pMxDoc = ThisDocument
Set pFLayer = pMxDoc.FocusMap.Layer(0)
''** Make a selection on the FeatureLayer
Dim queryStr As String
Dim qF As IQueryFilter
Set qF = New QueryFilter
queryStr = "SD_NUMBER='" & SDnumberId & "'"
qF.WhereClause = queryStr
Dim pFSel As IFeatureSelection
Set pFSel = pFLayer
pFSel.SelectFeatures qF, esriSelectionResultNew, False
Dim pFDef As IFeatureLayerDefinition
Set pFDef = pFLayer
Dim SelFeatLayer As IFeatureLayer
Set SelFeatLayer = pFDef.CreateSelectionLayer(StateId, True, "", "")
With pMxDoc
.AddLayer SelFeatLayer
.FocusMap.MoveLayer SelFeatLayer, 2
.FocusMap.ClearSelection
.ActiveView.Refresh
.UpdateContents
End With
End Function