属性検索で取り出したレコードの順序を変更する方法

2016/9/1 (木)

Sub test()

Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument

Dim pFL As IFeatureLayer
Set pFL = pMxDoc.FocusMap.Layer(0)

Dim pFeatureClass As IFeatureClass
Set pFeatureClass = pFL.FeatureClass

Dim strFieldName As String
strFieldName = "P_NUM"

Dim pQueryFilter As IQueryFilter
Set pQueryFilter = New QueryFilter
pQueryFilter.SubFields = strFieldName
pQueryFilter.WhereClause = "[OBJECTID] > 2000"

Dim pQueryFilterDefinition As IQueryFilterDefinition
Set pQueryFilterDefinition = pQueryFilter
pQueryFilterDefinition.PostfixClause = "ORDER BY " & strFieldName

Dim pFeatureCursor As IFeatureCursor
Set pFeatureCursor = pFeatureClass.Search(pQueryFilter, True)

Dim codeix As Long
codeix = pFeatureCursor.FindField(strFieldName)

Dim pFeature As IFeature
Set pFeature = pFeatureCursor.NextFeature

While Not pFeature Is Nothing
    MsgBox pFeature.Value(codeix)
    Set pFeature = pFeatureCursor.NextFeature
Wend

End Sub

関連記事

  • この記事を書いた人

羽田 康祐

伊達と酔狂でエクストリーム スポーツに挑む GIS エンジニア。 GIS、IT、趣味に関して日々の出来事で学んだ記憶を記録するためにブログを書いています。同じ問題に出会った方の参考になっていただければ幸いです。GIS を使った自己紹介はこちら

-プログラミング, ArcGIS
-,

Copyright© WINGFIELD since1981 , 2019 All Rights Reserved.