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 支持和反馈,获取有关如何接收支持和提供反馈的指南。