DataRecordset.GetPrimaryKey メソッド (Visio)
データ レコードセットの主キー設定および主キーの列を取得します。
注:
この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。
構文
式。GetPrimaryKey (PrimaryKeySettings, PrimaryKey())
式DataRecordset オブジェクトを返す式。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
PrimaryKeySettings | 必須 | VisPrimaryKeySettings | 出力パラメーターです。 データ レコードセットの主キー設定を出力します。 設定される値については、「備考」を参照してください。 |
PrimaryKey() | 必須 | String | 出力パラメーターです。 文字列型 (String) 変数の配列を指定します。 |
戻り値
なし
解説
GetPrimaryKey メソッドを使用して、データ レコードセットの既存の主キー設定と、主キーが指定されている場合は主キーの列または列の名前を決定します。 PrimaryKeySettings出力パラメーターには、データ レコードセットの主キー設定が VisPrimaryKeySettings 列挙値の値として返されます。 既定値 (主キーが指定されていない場合) は visKeyRowOrder で、Microsoft Visio はデータ レコードセットの行を、その行の順序のまま認識するという意味になります。
主キーが指定されているデータ レコードセットには、単一または複合主キー列を含めることができます。 単一列の主キーは、単一のカラムの値に基づいて行を識別します。 後者の場合、複数の列の組み合わせで、行を一意に識別します。 PrimaryKeySettings に設定される値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
visKeyRowOrder | 1 | 主キーとして行の順序を使用します。 |
visKeySingle | 2 | 主キーの列として単一の列を使用します。 |
visKeyComposite | 3 | 主キーの列として複数の列を使用します。 |
PrimaryKey() out パラメーターの場合は、文字列の次元のない配列を渡します。 返される主キー設定が visKeySingle または visKeyComposite の場合、このメソッドは PrimaryKey() out パラメーターの主キー列名文字列の配列も返します。 主キー設定が既定の visKeyRowOrder の場合、空の配列が返されます。
DataRecordset.SetPrimaryKey メソッドを使用して、データ レコードセットの主キー設定と、主キー列または列として設定する列または列の名前を指定します。 主キーを設定する場合は、主キーの列となる 1 つ、または、複数の列には、各行に一意の値が含まれていることを確認してください。
例
次の Microsoft Visual Basic for Applications (VBA) マクロは、GetPrimaryKey メソッドを使用してデータ レコードセットの主キー設定を取得し、最初の主キーの列の名前を取得します。 マクロは、ドキュメントに関連付けられた最後に作成されたデータ レコードセットを検索し、主キーが指定されている場合は、[イミディエイト] ウィンドウに主キー設定の値と、データ レコードセットの最初の主キー列の名前を出力します。 主キーが存在しない場合は、主キー設定と "No primary key" という文字列を出力します。
このマクロを実行する前に、現在のドキュメントに少なくとも 1 つのデータ レコードセットを作成し、必要な場合は 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 のサポートおよびフィードバックを参照してください。