共用方式為


DataRecordset.GetPrimaryKey 方法 (Visio)

會取得資料錄集的主索引鍵設定及主索引鍵資料欄名稱。

注意事項

This Visio object or member is available only to licensed users of Visio Professional 2013.

語法

運算式GetPrimaryKey (PrimaryKeySettingsPrimaryKey () )

表達 會傳回 DataRecordset 物件的 運算式。

參數

名稱 必要/選用 資料類型 描述
PrimaryKeySettings 必要 VisPrimaryKeySettings 輸出參數。 資料記錄集的主索引鍵設定。 如需可能的值,請參閱<備註>。
PrimaryKey () 必要 字串 輸出參數。 String 變數的陣列。

傳回值

註解

如果已指定主鍵,請使用 GetPrimaryKey 方法來判斷記錄集的現有主鍵設定,以及主鍵資料行或資料行的名稱。 此方法會在 PrimaryKeySettings 輸出參數中傳回資料記錄集的主索引鍵設定,做為 VisPrimaryKeySettings 列舉中的值。 預設值 (若未指定主索引鍵) 為 visKeyRowOrder,這表示 Microsoft Visio 會依據資料列順序識別資料記錄集列。

已指定主鍵的資料記錄集可以有單一或複合主鍵資料行。 單一資料欄主索引鍵會根據單一資料欄中的值來識別資料列。 綜合主索引鍵會使用兩個以上的資料欄來唯一識別資料列。 下表顯示 PrimaryKeySettings 的可能值。

常數 描述
visKeyRowOrder 1 使用資料列順序當做主索引鍵。
visKeySingle 2 使用單一資料欄當做主索引鍵資料欄。
visKeyComposite 3 使用多個資料欄當做主索引鍵資料欄。

針對 PrimaryKey () out 參數,傳遞字串的無維度陣列。 如果傳回的主鍵設定為 visKeySinglevisKeyComposite,此方法也會傳回 PrimaryKey () out 參數中主鍵資料行名稱字串的陣列。 若主索引鍵設定為預設的 visKeyRowOrder,則方法會傳回空陣列。

使用 DataRecordset.SetPrimaryKey 方法來指定記錄集的主鍵設定,以及您要設定為主鍵資料行的資料行名稱。 設定主索引鍵時,請確定您挑選為主索引鍵資料欄的資料欄,在每個資料列上都含有唯一的值 (或值組)。

範例

下列 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 GetPrimaryKey 方法來判斷記錄集的主鍵設定,以及第一個主鍵資料行的名稱。 宏會尋找與檔相關聯的最近建立的資料記錄集,如果已指定主鍵,則會在 [即時運算] 視窗中列印主鍵設定的值,以及資料記錄集第一個主鍵資料行的名稱。 如果沒有主鍵存在,則會列印主鍵設定和語句「沒有主鍵」。

執行此宏之前,請在目前檔中建立至少一個資料記錄集,並視需要使用 SetPrimaryKey 方法指定主鍵。

Public Sub GetPrimaryKey_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intCount As Integer 
    Dim astrPrimaryKeyColumns() As String 
    Dim vsoKeySettings As VisPrimaryKeySettings 
 
 
    intCount = ThisDocument.DataRecordsets.Count 
    Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount) 
    vsoDataRecordset.GetPrimaryKey vsoKeySettings, astrPrimaryKeyColumns 
 
    If vsoKeySettings = visKeyRowOrder Then 
        Debug.Print vsoKeySettings, "No primary key" 
    Else 
        Debug.Print vsoKeySettings, astrPrimaryKeyColumns(0) 
    End If 
    
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應