DataRecordset.GetAllRefreshConflicts 方法 (Visio)
返回一个数组,该数组包含链接到数据行的形状,这些数据行在刷新数据记录集后存在未解决的冲突。 .
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
表达式。GetAllRefreshConflicts
表达 返回 DataRecordset 对象的表达式。
返回值
Shape ()
备注
在刷新数据源中的数据时,如果这些数据自上次刷新以来发生了更改,则可能会产生冲突。 当单个形状链接到同一数据源中的多个行时,或者当形状链接到数据源中已删除的行时,可能会发生冲突。
若要确定哪些数据记录集行产生了冲突,请将 GetAllRefreshConflicts 返回的形状 () 传递给 GetMatchingRowsForRefreshConflict 方法,该方法返回冲突行数组。
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏说明如何使用 GetAllRefreshConflicts 方法确定刷新数据记录集后存在冲突的形状(如果有)。 该方法将刷新最近添加的数据记录集,如果发现未产生任何冲突,则在“立即”窗口中输出“无冲突”。 如果发现冲突,则循环访问所返回的形状数组,并在同一窗口中输出存在冲突的形状的名称。
在运行此宏之前,请确保最近添加的数据记录集是已连接(不基于 XML)的数据记录集,并且到原始数据源的连接仍然可用。 然后在数据源中删除行或进行其他可在刷新数据记录集时引起冲突的更改。
Public Sub GetAllRefreshConflicts_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim intRecordsetCount As Integer
Dim intShapeCount As Integer
Dim avsoShapes() As Visio.Shape
intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount)
vsoDataRecordset.Refresh
avsoShapes = vsoDataRecordset.GetAllRefreshConflicts
If IsEmpty(avsoShapes) Then
Debug.Print "No conflict"
Else
For intShapeCount = LBound(avsoShapes) To UBound(avsoShapes)
Debug.Print avsoShapes(intShapeCount).Name
Next intShapeCount
End If
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。