指定した基本メンバーに関連付けられている属性情報を戻します。
構文
EsbGetAssociatedAttributesInfo ( hCtx , MbrName , AttrDimName , Count ) ByVal hCtx As Long ByVal MbrName As String ByVal AttrDimName As String Count As Long
パラメータ | 説明 |
---|---|
hCtx |
コンテキスト・ハンドル |
MbrName |
基本メンバー名 |
AttrDimName |
(オプション)属性次元名 |
Count |
戻された属性メンバー数 |
備考
この関数を利用すると、属性メンバーに関する情報がEsbQueryDatabaseMembersの場合よりも多く取得できます。
AttrDimNameをNULLに設定すると、基本メンバーに関連付けられているすべての属性メンバーが戻されます。
オプションで、属性次元名を指定すると、基本メンバーに関連付けられているその次元メンバーに関する情報のみを取得できます。
EsbGetAssociatedAttributesInfo()を呼び出した後に、ESB_ATTRIBUTEINFO_Tを使用してEsbGetNextItem()を呼び出すと、必要な属性情報の構造体を取得できます。
この関数によって戻される属性情報が無効になる状況には、次の2つがあります:
Visual Basic APIでは、指定した属性次元の名前から、属性データ型が派生します。そのため、属性次元の値が有効でない場合もあります。EsbGetAssociatedAttributesInfo()に渡された名前が属性次元の名前と同じ場合、アプリケーションは、戻されたESB_ATTRIBUTEINFO_T構造体の属性フィールドの値を無視する必要があります。MbrInfo.MbrNameフィールドおよびMbrInfo.DimNameフィールドが等しいかどうかを確認します。等しい場合は、基本次元を参照しているので、属性情報を無視する必要があります。
日付属性には、Visual Basicによって自動的に処理される時刻情報(タイム・スタンプ)が含まれています(日付計算が実施される)。これによって日付属性の値に間違いが生じることがあります(指定したクライアント・マシンで指定されたタイムゾーンによります)。自動処理を避けるため、日付属性情報の表示では、属性値ではなく、属性名を使用します。
戻り値
正常終了の場合はsts = 0が戻されます。それ以外の場合は、エラー番号が戻されます。
アクセス
この関数を使用するのに、特別な権限は必要ありません。
例
Sub ESB_GetAssociatedAttributesInfo() ' NOTE: 'Out' is a sub to print the output within quotes to a listbox or text box. Dim hCtx as long Dim sts as long Dim MbrName As String Dim AttrDimName As String Dim Count As Long Dim Attribinfo As ESB_ATTRIBUTEINFO_T Dim index As Integer Dim tempstring As String MbrName = InputBox("Base member name", "Base Member Name") AttrDimName = InputBox("Attribute Dimension Name (Optional)", "Attribute Dimension Name") sts = EsbGetAssociatedAttributesInfo(hCtx, MbrName, AttrDimName, Count) If sts <> 0 Then MsgBox "Error in ESB_GetAssociatedAttributesInfo: " & sts: Exit Sub Else tempstring = "...count = " & Count & "..." out (tempstring) Out "Associated Attr info for " & "[" & MbrName & "]" Out "------------------------------------" For index = 1 To Count sts = EsbGetNextItem(hCtx, ESB_ATTRIBUTEINFO_TYPE, Attribinfo) Out "Dim Name: " & Attribinfo.DimName Out "Mbr Name: " & Attribinfo.MbrName ' NOTE: use of select case statement to discern (and act upon) type of attribute returned Select Case VarType(Attribinfo.Attribute) Case vbDouble Out "Data Type : Numeric(Double)" Out "Data Value : " & Attribinfo.Attribute Out "" Case vbBoolean Out "Data Type : Boolean" Out "Data Value : " & Attribinfo.Attribute Out "" Case vbDate Out "Data Type : Date" ' Suggested way to get Date Attribute value for display Out "Data Value : " & Attribinfo.DimName Out "" Case vbString Out "Data Type : String" Out "Data Value : " & Attribinfo.Attribute Out "" End Select Out "" Next index End If End Sub
関連トピック