Compartilhar via


Método DataRecordset.RefreshUsingXML (Visio)

Atualizações formas vinculadas com dados contidos na cadeia de caracteres que está em conformidade com o esquema XML clássico do ADO passado para o método como um parâmetro.

Observação

This Visio object or member is available only to licensed users of Visio Professional 2013.

Sintaxe

expressão. RefreshUsingXML (NewDataAsXML)

Expressão Uma expressão que retorna um objeto DataRecordset .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
NewDataAsXML Obrigatório String Uma cadeia de caracteres XML que contém novos dados para a atualização do conjunto de registros de dados e que está em conformidade com o esquema clássico do ADO.

Valor de retorno

Nada

Comentários

Para o parâmetro XMLString, passe uma cadeia de caracteres XML que esteja em conformidade com o esquema XML clássico do ADO e que descreva os dados que você deseja importar. Posteriormente neste tópico, será mostrada uma cadeia de caracteres XML de exemplo.

Os dados na cadeia de caracteres XML passada para o método RefreshUsingXML devem ser estruturados de uma maneira semelhante a dos dados no conjunto de registros de dados que você deseja atualizar. No mínimo, as colunas de chaves primárias devem ser iguais nos dois conjuntos de dados. A chave primária identifica o nome de uma ou mais colunas de dados contendo identificadores exclusivos para cada linha. O valor na coluna de chaves primárias para cada linha identifica essa linha de forma exclusiva no conjunto de registros de dados.

Quando você cria um conjunto de registros de dados, o Microsoft Visio atribui identificações a todas as linhas no conjunto de registros com base na ordem existente das linhas na fonte de dados.

Se a cadeia de caracteres XML que você passar para o método RefreshUsingXML contiver uma coluna que consiste em IDs de linha do Visio (como seria, por exemplo, se você a exportou do Visio obtendo o valor da propriedade DataAsXML do conjunto de registros de dados), o método RefreshUsingXML tentará validar as IDs de linha na cadeia de caracteres. Se o método considerar válidas as identificações de linha, ele as reutilizará no conjunto de registros de dados atualizado. Caso contrário, ele retornará um erro.

Exemplo

A macro do Microsoft Visual Basic for Applications (VBA) a seguir mostra como você pode usar o método RefreshUsingXML para atualizar um conjunto de registros de dados existente com dados contidos em uma cadeia de caracteres XML clássica do ADO.

Uma cadeia de caracteres XML de exemplo é mostrada aqui. Antes de executar essa macro, abra um novo desenho do Visio e execute a macro no tópico método DataRecordsets.AddFromXML .

Quando você passar para o método RefreshUsingXML , essa cadeia de caracteres atualizará o conjunto de registros de dados que o método AddFromXML criou, alterando os nomes da cidade.

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' 
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' 
xmlns:rs='urn:schemas-microsoft-com:rowset' 
xmlns:z='#RowsetSchema'> 
<s:Schema id='RowsetSchema'> 
<s:ElementType name='row' content='eltOnly' rs:updatable='true'> 
<s:AttributeType name='c1' rs:name='Cities' 
rs:number='2' rs:nullable='true' rs:maydefer='true' rs:write='true'> 
<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/> 
</s:AttributeType> 
<s:extends type='rs:rowbase'/> 
</s:ElementType> 
</s:Schema> 
<rs:data> 
<z:row c1='New York' /> 
<z:row c1='London' /> 
</rs:data> 
</xml>

No código de exemplo a seguir, o nome de uma cadeia de caracteres XML contendo os dados atualizados foi passado para o método RefreshUsingXML.

Public Sub RefreshUsingXML_Example() 
 
    Dim strXML As String 
    Dim intCount As Integer 
    Dim vsoDataRecordset As Visio.DataRecordset 
 
intCount = ThisDocument.DataRecordsets.Count 
 
    strXML = "<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'" + Chr(10) _ 
    & "xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'" + Chr(10) _ 
    & "xmlns:rs='urn:schemas-microsoft-com:rowset'" + Chr(10) _ 
    & "xmlns:z='#RowsetSchema'>" + Chr(10) _ 
    & "<s:Schema id='RowsetSchema'>" + Chr(10) _ 
    & "<s:ElementType name='row' content='eltOnly' rs:updatable='true'>" + Chr(10) _ 
    & "<s:AttributeType name='c1' rs:name='Cities'" + Chr(10) _ 
    & "rs:number='2' rs:nullable='true' rs:maydefer='true' rs:write='true'>" + Chr(10) _ 
    & "<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>" + Chr(10) _ 
    & "</s:AttributeType>" + Chr(10) _ 
    & "<s:extends type='rs:rowbase'/>" + Chr(10) _ 
    & "</s:ElementType>" + Chr(10) _ 
    & "</s:Schema>" + Chr(10) _ 
    & "<rs:data>" + Chr(10) _ 
    & "<z:row c1='New York'/>" + Chr(10) _ 
    & "<z:row c1='London'/>" + Chr(10) _ 
    & "</rs:data>" + Chr(10) _ 
    & "</xml>" 
 
    ThisDocument.DataRecordsets(intCount).RefreshUsingXML(strXML) 
 
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.