Método DataRecordset.GetAllRefreshConflicts (Visio)
Devuelve una matriz que contiene formas vinculadas a filas de datos que tienen conflictos no resueltos después de actualizar un conjunto de registros de datos. .
Nota:
Este objeto o miembro Visio solo se encuentra disponible para los usuarios con licencia de Visio Professional 2013.
Sintaxis
expresión. GetAllRefreshConflicts
Expresión Expresión que devuelve un objeto DataRecordset .
Valor devuelto
Shape()
Comentarios
Al actualizar los datos desde un origen de datos que ha cambiado desde la última vez que se actualizaron los datos, se pueden producir conflictos. Los conflictos pueden producirse cuando una sola forma está vinculada a más de una fila del mismo origen de datos o cuando una forma está vinculada a una fila del origen de datos que se ha eliminado.
Para determinar qué filas de conjunto de registros de datos generaron el conflicto, pase las formas devueltas por GetAllRefreshConflicts al método GetMatchingRowsForRefreshConflict , que devuelve una matriz de filas en conflicto.
Ejemplo:
Esta macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra el uso del método GetAllRefreshConflicts para determinar las formas, si las hay, que tienen conflictos después de actualizar un conjunto de registros de datos. Si no se detectan conflictos y se actualiza el último conjunto de registros de datos agregado, se imprime "No hay conflictos" en la ventana Inmediato. De lo contrario,se recorre en iteración la matriz de las formas devueltas y se imprimen los nombres de las formas que tienen conflictos en la misma ventana.
Antes de ejecutar esta macro, asegúrese de que el último conjunto de datos agregado es un conjunto de registros de datos conectado (no basado en XML) y que la conexión al origen de datos original aún está disponible. A continuación, elimine una fila del origen de datos o efectúe otro cambio para que se provoque un conflicto.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.