DataRecordset.RefreshUsingXML 方法 (Visio)
更新連結的圖形,其中包含的字串中包含的資料符合以參數形式傳遞至 方法的 ADO 傳統 XML 架構。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
運算式。NewDataAsXML (RefreshUsingXML)
表達 會傳回 DataRecordset 物件的 運算式。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
NewDataAsXML | 必要 | 字串 | 含有新資料的 XML 字串,用於重新整理資料錄集並且符合典型 ADO 結構描述。 |
傳回值
無
註解
對於 XMLString 參數,傳送符合 ADO 典型 XML 結構描述而且描素所要匯入之資料的 XML 字串。 本主題稍後的範例中將會示範 XML 字串範例。
您傳送至 RefreshUsingXML 方法的 XML 字串中的資料結構,應該與您要更新之資料錄集內的資料結構類似。 至少,兩組資料的主索引鍵資料欄應該相同。 primary key 會為每個資料列識別含有唯一識別碼之資料欄的名稱。 每個資料列的主索引鍵資料欄中的值,會唯一識別資料錄集內的該資料列。
當您建立資料錄集時,Microsoft Visio 會根據資料來源中現有的資料列順序,為資料錄集內的所有資料列指派資料列識別碼。
如果您傳遞給 RefreshUsingXML 方法的 XML 字串包含由 Visio 資料列識別碼 (組成的資料行,例如,如果您藉由取得記錄集) 的 DataAsXML 屬性值,從 Visio 匯出它, RefreshUsingXML 方法會嘗試驗證字串中的資料列識別碼。 若此方法認定資料列識別碼有效,就會在更新的資料錄集內重複使用這些識別碼。 若認定為無效,就會傳回錯誤。
範例
下列 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 RefreshUsingXML 方法,以包含在 ADO 傳統 XML 字串中的資料來更新現有的資料記錄集。
下列是 XML 字串的範例。 執行此宏之前,請先開啟新的 Visio 繪圖,然後在 DataRecordsets.AddFromXML 方法主題中執行宏。
當您將它傳遞給 RefreshUsingXML 方法時,此字串會更新 AddFromXML 方法所建立的資料記錄集,並變更城市名稱。
<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>
在下列範例程式碼中,我們會將含有更新資料之 XML 字串的名稱傳送至 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
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。