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
软件: 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
1 个回复
易智瑞技术支持
赞同来自:
原因: 如果在创建图层或者表格的时候没有支持主键,会创建一个数据的备份并且添加一列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
要回复问题请先登录或注册