記事

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

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
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。
代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる
GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期・第32期常任委員。発言は個人の見解です。