Compartir a través de


Método DataRecordset.RefreshUsingXML (Visio)

Novedades formas vinculadas con datos contenidos en la cadena que se ajusta al esquema XML clásico de ADO pasado al método como parámetro.

Nota:

Este objeto o miembro Visio solo se encuentra disponible para los usuarios con licencia de Visio Professional 2013.

Sintaxis

expresión. RefreshUsingXML (NewDataAsXML)

Expresión Expresión que devuelve un objeto DataRecordset .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
NewDataAsXML Obligatorio String Cadena XML que contiene datos nuevos para actualizar el conjunto de registros de datos y que se ajusta al esquema ADO clásico.

Valor devuelto

Nothing

Comentarios

Para el parámetro XMLString, se pasa una cadena XML que se ajusta al esquema XML clásico de ADO y que describe los datos que se desean importar. En el ejemplo de este tema que figura más adelante se muestra una cadena XML simple.

Los datos de la cadena XML que pasa el método RefreshUsingXML se debe estructurar de forma parecida a la de los datos del conjunto de registros de datos que desee actualizar. Como mínimo, las columnas de la clave principal deben ser iguales en los dos conjuntos de datos. La clave principal identifica el nombre de la columna o columnas de datos que contienen identificadores únicos para cada fila. El valor de la primera columna de la clave principal de cada columna identifica de forma única esa fila del conjunto de registros de datos.

Al crear un conjunto de registros de datos, Microsoft Visio asigna los identificadores de fila a todas las filas del conjunto de registros según el orden de filas existente en el origen de datos.

Si la cadena XML que se pasa al método RefreshUsingXML contiene una columna que consta de identificadores de fila de Visio (como lo haría, por ejemplo, si lo exportara desde Visio obteniendo el valor de propiedad DataAsXML del conjunto de registros de datos), el método RefreshUsingXML intenta validar los identificadores de fila de la cadena. Si el método encuentra los identificadores de las filas que considera válidos, los vuelve a usar en el conjunto de registros de datos actualizado. De lo contrario, devuelve un error.

Ejemplo:

La siguiente macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra cómo puede usar el método RefreshUsingXML para actualizar un conjunto de registros de datos existente con datos contenidos en una cadena XML clásica de ADO.

A continuación, se muestra una cadena XML de ejemplo. Antes de ejecutar esta macro, abra un nuevo dibujo de Visio y ejecute la macro en el tema Método DataRecordsets.AddFromXML .

Cuando se pasa al método RefreshUsingXML , esta cadena actualizará el conjunto de registros de datos que creó el método AddFromXML , cambiando los nombres de ciudad.

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

En el siguiente código de ejemplo, se pasa el nombre del método RefreshUsingXML de una cadena XML que contiene los datos actualizados.

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

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.