匯報將與符合 ADO 經典 XML 架構的字串資料連結形狀,這些結構作為參數傳遞給方法。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
表情。RefreshUsingXML (NewDataAsXML)
詞 一個回傳 DataRecordset 物件的表達式。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| NewDataAsXML | 必要 | 字串 | 含有新資料的 XML 字串,用於重新整理資料錄集並且符合典型 ADO 結構描述。 |
傳回值
無
註解
對於 XMLString 參數,傳送符合 ADO 典型 XML 結構描述而且描素所要匯入之資料的 XML 字串。 本主題稍後的範例中將會示範 XML 字串範例。
您傳送至 RefreshUsingXML 方法的 XML 字串中的資料結構,應該與您要更新之資料錄集內的資料結構類似。 至少,兩組資料的主索引鍵資料欄應該相同。 primary key 會為每個資料列識別含有唯一識別碼之資料欄的名稱。 每個資料列的主索引鍵資料欄中的值,會唯一識別資料錄集內的該資料列。
當您建立資料錄集時,Microsoft Visio 會根據資料來源中現有的資料列順序,為資料錄集內的所有資料列指派資料列識別碼。
如果你傳給 RefreshUsingXML 方法的 XML 字串包含一個由 Visio 列 ID 組成的欄位, (例如,當你從 Visio 匯出時,透過取得資料) 集的 DataAsXML 屬性值, RefreshUsingXML 方法會嘗試驗證字串中的列 ID。 若此方法認定資料列識別碼有效,就會在更新的資料錄集內重複使用這些識別碼。 若認定為無效,就會傳回錯誤。
範例
以下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 支援與意見反應。