Partager via


DataRecordset.RefreshUsingXML, méthode (Visio)

Mises à jour des formes liées avec des données contenues dans la chaîne conforme au schéma XML classique ADO passé à la méthode en tant que paramètre.

Remarque

Cet objet ou ce membre Visio est disponible uniquement pour les titulaires d’une licence d’utilisation de Visio Professionnel 2013.

Syntaxe

expression. RefreshUsingXML (NewDataAsXML)

Expression Expression qui renvoie un objet DataRecordset .

Parameters

Nom Requis/Facultatif Type de données Description
NewDataAsXML Requis String Chaîne XML qui contient des nouvelles données pour actualiser le jeu d'enregistrements de données et qui est conforme au schéma ADO classique.

Valeur renvoyée

Aucune

Remarques

Pour le paramètre ChaîneXML, transférez une chaîne XML conforme au schéma XML ADO classique et qui décrit les données que vous voulez importer. Un exemple de chaîne XML est illustré ultérieurement dans cette rubrique.

Les données contenues dans la chaîne XML que vous transférez à la méthode RefreshUsingXML doivent être structurées de la même manière que les données du jeu d'enregistrements de données que vous voulez mettre à jour. Les colonnes de clé primaire doivent, au minimum, être identiques dans les deux jeux de données. La clé primaire identifie le nom de la ou des colonnes de données contenant des identificateurs uniques pour chaque ligne. La valeur contenue dans la colonne de clé primaire pour chaque ligne identifie de manière unique cette ligne dans le jeu d'enregistrements de données.

Lorsque vous créez un jeu d’enregistrements de données, Microsoft Visio attribue des ID de ligne à toutes les lignes contenues dans le jeu d’enregistrements, selon l’ordre existant des lignes dans la source de données.

Si la chaîne XML que vous passez à la méthode RefreshUsingXML contient une colonne composée d’ID de ligne Visio (comme elle le ferait, par exemple, si vous l’avez exportée à partir de Visio en obtenant la valeur de propriété DataAsXML du jeu d’enregistrements de données), la méthode RefreshUsingXML tente de valider les ID de ligne dans la chaîne. Si la méthode considère que les ID de ligne sont valides, elle les réutilise dans le jeu d’enregistrements de données mis à jour. Si elle les considère incorrects, elle renvoie une erreur.

Exemple

La macro Microsoft Visual Basic pour Applications (VBA) suivante montre comment utiliser la méthode RefreshUsingXML pour mettre à jour un jeu d’enregistrements de données existant avec des données contenues dans une chaîne XML classique ADO.

Un échantillon de chaîne XML est présenté ici. Avant d’exécuter cette macro, ouvrez un nouveau dessin Visio et exécutez la macro dans la rubrique de méthode DataRecordsets.AddFromXML .

Lorsque vous la transmettez à la méthode RefreshUsingXML , cette chaîne met à jour le jeu d’enregistrements de données créé par la méthode AddFromXML , en modifiant les noms de ville.

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

Dans l'échantillon de code suivant, nous transférons le nom d'une chaîne XML contenant les données mises à jour à la méthode 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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.