2010-05-25 67 views
0

ArcGIS 9.3 Arcobject在VBA中重复的行之间选择行

我想在下面的字段中选择每个重复的SID的一行。 (形状文件的属性表)

优先级是R> S = I> 0
因此,SID 87之间,FID1将被选择。
(SID 88,状态将是S + I)
(SID 89,FID 6将被选择)

敬请指教VBA绳运行的选择和感谢。

FID SID STATUS 
1  87  R 
2  87  O 
3  88  I 
4  88  S 
5  89  I 
6  89  R  
7  89  I 
8  89  S 

回答

0

这可能不是最佳的方式,但你可以尝试这样的事:

  1. 使用ITable.Search使用空QueryFilter打开表中的所有行的光标。
  2. 创建一个DataStatistics对象,并将光标传递给IDataStatistics.Cursor属性。
  3. 使用IDataStatistics.UniqueValues属性可以获取表中唯一SID值的集合。
  4. 对于每个唯一的SID值,使用ITable.Search打开包含具有SID的所有行的游标。
  5. 使用您描述的逻辑,确定应添加到特定SID的选择行的FID。
  6. 创建一个SelectionSet对象,将您的表设置为一个对象。使用Add方法添加单个行或使用AddList方法将行列表添加到选择集。
  7. 使用此选择集在shapefile上设置IFeatureSelection.SelectionSet属性。

对不起,因为我是新的,我不能发布超链接的帮助,但这里的起始页面的VB6帮助ArcObjects的9.3:

http://resources.esri.com/help/9.3/arcgisengine/com_cpp/vb6_start.htm