Método DataRecordset.GetAllRefreshConflicts (Visio)
Retorna uma matriz que contém formas vinculadas a linhas de dados que têm conflitos não resolvidos depois que um conjunto de registros de dados é atualizado. .
Observação
This Visio object or member is available only to licensed users of Visio Professional 2013.
Sintaxe
expressão. GetAllRefreshConflicts
Expressão Uma expressão que retorna um objeto DataRecordset .
Valor de retorno
Shape()
Comentários
Quando você atualiza dados de uma fonte de dados alterada após a última atualização de dados, podem ocorrer conflitos. Os conflitos podem resultar quando uma única forma está vinculada a mais de uma linha na mesma fonte de dados ou quando uma forma está vinculada a uma linha na fonte de dados que foi excluída.
Para determinar quais linhas de conjunto de registros de dados produziram o conflito, passe as formas retornadas por GetAllRefreshConflicts para o método GetMatchingRowsForRefreshConflict , que retorna uma matriz de linhas que estão em conflito.
Exemplo
Essa macro do Microsoft Visual Basic for Applications (VBA) mostra como usar o método GetAllRefreshConflicts para determinar quais formas, se houver, apresentarão conflitos após a atualização de um conjunto de registros de dados. Ela atualiza o conjunto de registros de dados adicionado mais recentemente e, se não localizar nenhum conflito resultante, imprimirá "No conflicts" na janela Immediate. Se localizar conflitos, ela iterará na matriz de formas retornada e imprimirá os nomes das formas com conflitos na mesma janela.
Antes de executar essa macro, verifique se o conjunto de registros de dados adicionado mais recentemente é um conjunto de registros de dados conectado (não baseado em XML) e se a conexão com a fonte de dados original ainda está disponível. Em seguida, exclua uma linha da fonte de dados ou faça outra alteração que causará um conflito.
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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.