Problem: 在ArcMap刷新后最新的更改没有在图层以及表格中显示出来

文章编号 : 23608
软件: ArcGIS - ArcEditor 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1, 10 ArcGIS - ArcInfo 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1, 10 ArcGIS - ArcView 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1, 10
操作系统: Windows 2003Server, Vista, 2008Server, Win 7
已邀请:

易智瑞技术支持

赞同来自:

错误信息: 在编辑基本数据时,更改不能反映在基于查询的地图图层和表格上。甚至发生在点击刷新视图或者在表格视图中重新加载缓存后,仍然会有这个问题。
原因: 如果在创建图层或者表格的时候没有支持主键,会创建一个数据的备份并且添加一列ObjectID。在读取数据的时候将会使用数据的副本。如果在基本数据库发生了变更,副本不会更新,所以看不到这些更改。

解决方法:
警告 :在ArcGIS 10.0版本中,这个解决方案需要单独的VBA许可。


与要素层或者单独的表格对象关联的表格必须先关闭然后重新打开。

下面的代码显示了如何处理要素图层。对于单独的表格,必须删除表格所有的关联,然后重新加载到ArcMap。

Public Sub Refresh_Copy()



Dim pMXDoc As IMxDocument

Dim pDTable As IDisplayTable

Dim pDataSet As IDataset

Dim pQName2 As IQueryName2

Dim pName As IName

Dim pStTab As IStandaloneTable

Dim pFLayer As IFeatureLayer

Dim pTable As ITable



Set pMXDoc = ThisDocument

Set pDTable = pMXDoc.SelectedItem

If Not TypeOf pDTable Is IFeatureLayer Then Exit Sub

Set pDataSet = pDTable.DisplayTable



If TypeOf pDataSet.FullName Is IQueryName2 Then

Set pQName2 = pDataSet.FullName

Set pName = pQName2

Set pFLayer = pDTable

Set pFLayer.FeatureClass = Nothing

Set pDTable = Nothing

Set pDataSet = Nothing

Set pTable = pName.Open

Set pFLayer.FeatureClass = pTable

End If



End Sub



创建时间:2002-10-22
最近更新: 2010-12-31


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册