Compartilhar via


Método DataRecordset.RefreshUsingXML (Visio)

Atualizações formas ligadas com dados contidos na cadeia de carateres que estão em conformidade com o esquema XML clássico do ADO transmitido ao 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 devolve 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 XML que transmitir para o método RefreshUsingXML contiver uma coluna composta por IDs de linha do Visio (tal como faria, por exemplo, se a exportasse do Visio ao obter o valor da propriedade DataAsXML do conjunto de registos de dados), o método RefreshUsingXML tentará validar os IDs de linha na cadeia. 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 seguinte macro do Microsoft Visual Basic for Applications (VBA) mostra como pode utilizar o método RefreshUsingXML para atualizar um conjunto de registos de dados existente com dados contidos numa cadeia XML clássica do ADO.

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

Quando o transmitir para o método RefreshUsingXML , esta cadeia atualizará o conjunto de registos de dados que o método AddFromXML criou, alterando os nomes das cidades.

<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.