EssOtlQueryMembersExArray

特定のメンバーおよびメンバー・フィールドのアウトラインをクエリーし、メンバーのハンドルの配列を戻します。戻されたメンバーのハンドルは、EssOtlGetMemberInfo()など、他のアウトラインAPI関数で使用できます。(EssOtlGetMemberInfo()は、ESS_MEMBERINFO_TおよびESS_MBRINFO_Tに含まれる個別のフィールドを取得できます。)

構文

            ESS_FUNC_M 
            EssOtlQueryMembersExArray
             (
            hOutline, pszFieldSelection, queryCount, pszMemberSelectionArr, pMaxCountArr, pphMemberArr, ppqryErrorList
            )
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

EssOtlOpenOutlineQuery()から戻されるアウトライン・ハンドル。

pszFieldSelection

ESS_STR_T

クエリーで戻されるメンバー・フィールドを選択します。配列のすべてのクエリーに同じ選択内容が使用されます。

queryCount

ESS_SHORT_T

入力配列のメンバー数。

pszMemberSelectionArr

ESS_STR_T

メンバー選択のqueryCountクエリー文字列の配列。このクエリー文字列の構文は、メンバー選択の構文です。つまり、クエリー文字列は、FIX()ステートメントで使用できるものであれば、何でもかまいません。

pMaxCountArr

ESS_PULONG_T

配列内の各クエリーが、最大いくつのメンバーを戻すかを決定するqueryCount値の配列。各値は、実際に戻された数に置き換えられます。

pphMemberArr

ESS_PPHMEMBER_T

戻されたメンバー・ハンドル配列(それぞれpMaxCountArr[i]値を含む)のqueryCount配列。

ppqryErrorList

ESS_OTLQUERYERRORLIST_T

エラーのあるメンバーのリスト。

備考

戻り値

正常終了の場合は0が戻されます。

次のコード・スニペットは、Marketの子である各メンバーおよびProductの子である各メンバーの名前、集計および式を2つの個別のメンバー配列に戻します。このコード・スニペットは、EssOtlQueryMembersExで2つのクエリーとなる呼出しを1回の呼出しEssOtlQueryMembersExArrayにまとめます。戻されるメンバー・フィールドは、配列内のすべてのクエリーで同じになり、すべての配列のサイズはqueryCountに一致する必要があります。

戻されたとき、MaxCountArray[i]には各クエリーで戻されたメンバーの数が含まれており、phMemberArrayArray[i]には各クエリーで戻されたメンバーのセットに対するハンドル配列が含まれています。さらなるアウトラインAPIの呼出しによって、phMemberArrayArray[i]に戻されたメンバーのハンドルの配列を使用して、メンバーの問合せが可能になります。

         member_fields = "<SelectMbrInfo ( MemberName, Consolidation, MemberFormula ) ";
queryCount = 2;
member_selectionArray[0] = "@ichild(Product)";
member_selectionArray[1] = "@ichild(Market)";
MaxCountArray[0] = -1;
MaxCountArray[1] = -1;
phMemberArrayArray[0] = ESS_NULL;
phMemberArrayArray[1] = ESS_NULL;
pqryErrorListArray[0] = ESS_NULL;
pqryErrorListArray[1] = ESS_NULL;
 
sts = EssOtlQueryMembersExArray(hOutline, member_fields, queryCount, member_selectionArray, MaxCountArray, &phMemberArrayArray, pqryErrorListArray);
 
if (sts != 0) goto error_exit;

      

EssOtlQueryMembersEx()EssOtlGetMemberField()およびESS_OTLQUERYERRORLIST_Tを使用し、EssOtlFreeMembers()およびEssFree()の呼出しを含んでいる例については、拡張メンバーのクエリー・コードの例を参照してください。

関連トピック