FAQ
選択したレコードの特定フィールドを計算する方法

ナレッジ番号:5473 | 登録日:2023/07/27 | 更新日:2024/12/02

【概要】

選択したレコードの特定フィールドを計算する方法を示します。


【手順】

ICalculator :: Expressionプロパティに指定する式は必要に応じて変更します。

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

  3. プロジェクト・エクスプローラ・ウィンドウで、Projectの下にあるArcMap Objects > ThisDocumentをダブルクリックし、
    コード・ウィンドウを開きます。

  4. コード・モジュールに次のコードをペーストします。

    
    Sub CalcField()
    
      Dim pMxDoc As IMxDocument
      Dim pFlayer As IFeatureLayer2
      Dim pFClass As IFeatureClass
    
      Set pMxDoc = ThisDocument
    
      'TOC内の最上位レイヤに対して処理を実行します。
      Set pFlayer = pMxDoc.FocusMap.layer(0)
      Set pFClass = pFlayer.FeatureClass
    
      Dim pFeatureSel As IFeatureSelection
      Set pFeatureSel = pFlayer
    
      Dim pSelSet As ISelectionSet2
      Set pSelSet = pFeatureSel.SelectionSet
    
      Dim pFCursor As IFeatureCursor
      pSelSet.Update Nothing, False, pFCursor
    
      Dim pCalculator As ICalculator
      Set pCalculator = New Calculator
    
      With pCalculator
        Set .Cursor = pFCursor
        .Expression = "[NAME]"
        .Field = "TEST"
      End With
    
      pCalculator.Calculate
    
    End Sub
    
    
  5. Visual Basic Editorを閉じます。

  6. データ内の適当なソースフィールドとして[NAME]の部分を変更します。また更新されるフィールド名として"TEST"の部分を変更します。

  7. 更新するレイヤがTOC内の最上位にあることを確認します。

  8. 属性テーブルで1つ以上のレコードを選択します。

  9. マクロを実行します。

    A:ArcMapで、ツール > マクロ > マクロと選択し、マクロ・ダイアログを表示します。

    B:マクロを選択し、実行をクリックします

  10. 選択されているレコードのNAMEフィールドの値がTESTフィールド内に格納されます。

メタデータ

種類

機能

製品