Freigeben über


DataRecordset.RefreshUsingXML-Methode (Visio)

Aktualisierungen verknüpfte Shapes mit Daten, die in der Zeichenfolge enthalten sind, die dem klassischen ADO-XML-Schema entspricht, das als Parameter an die -Methode übergeben wird.

Hinweis

Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.

Syntax

Ausdruck. RefreshUsingXML (NewDataAsXML)

Ausdruck Ein Ausdruck, der ein DataRecordset-Objekt zurückgibt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
NewDataAsXML Erforderlich String Eine XML-Zeichenfolge mit neuen Daten zum Aktualisieren des Datenrecordsets, die dem klassischen ADO-Schema entspricht.

Rückgabewert

Nichts

Bemerkungen

Für den XMLString-Parameter wird eine XML-Zeichenfolge übergeben, die mit dem klassischen ADO-XML-Schema kompatibel ist und die die zu importierenden Daten beschreibt. Weiter unten in diesem Thema wird eine XML-Zeichenfolge als Beispiel gezeigt.

Die Daten in der XML-Zeichenfolge, die Sie an die RefreshUsingXML-Methode übergeben, sollten ähnlich strukturiert sein wie die Daten im Datenrecordset, das Sie aktualisieren möchten. Zumindest sollten die Primärschlüsselspalten in beiden Datensätzen identisch sein. Mit dem Primärschlüssel werden die Namen der Datenspalten ermittelt, die eindeutige Bezeichner für jede Zeile enthalten. Durch den in der Primärschlüsselspalte für jede Zeile angegebenen Wert wird die jeweilige Zeile im Datenrecordset eindeutig identifiziert.

Wenn Sie ein Datenrecordset erstellen, weist Microsoft Visio allen Zeilen im Recordset Zeilen-IDs zu. Als Grundlage dient die vorhandene Reihenfolge der Zeilen in der Datenquelle.

Wenn die XML-Zeichenfolge, die Sie an die RefreshUsingXML-Methode übergeben, eine Spalte enthält, die aus Visio-Zeilen-IDs besteht (z. B. wenn Sie sie aus Visio exportiert haben, indem Sie den DataAsXML-Eigenschaftswert des Datenrecordsets abrufen), versucht die RefreshUsingXML-Methode , die Zeilen-IDs in der Zeichenfolge zu überprüfen. Wird mit der Methode festgestellt, dass die Zeilen-IDs gültig sind, werden diese im aktualisierten Datenrecordset erneut verwendet. Stellt sich dagegen heraus, dass sie ungültig sind, wird ein Fehler zurückgegeben.

Beispiel

Das folgende VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie Sie die RefreshUsingXML-Methode verwenden können, um ein vorhandenes Datenrecordset mit Daten zu aktualisieren, die in einer klassischen ADO-XML-Zeichenfolge enthalten sind.

Hier wird eine XML-Zeichenfolge als Beispiel angezeigt. Öffnen Sie vor dem Ausführen dieses Makros eine neue Visio-Zeichnung, und führen Sie das Makro im Thema DataRecordsets.AddFromXML-Methode aus.

Wenn Sie sie an die RefreshUsingXML-Methode übergeben, aktualisiert diese Zeichenfolge das Datenrecordset, das von der AddFromXML-Methode erstellt wurde, und ändert die Ortsnamen.

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

Im folgenden Beispielcode wird der RefreshUsingXML-Methode der Name einer XML-Zeichenfolge übergeben, die die aktualisierten Daten enthält.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.