一般的な Shape コマンド

データ シェイプは、型指定されたレコードセットの列、列によって表されるエンティティ間のリレーションシップ、レコードセットにデータが設定される方法を定義します。

整形されたレコードセットは次の種類の列で構成されます。

列の型 説明
data クエリ コマンドにより返されたレコードセットからデータ プロバイダー、テーブル、または以前に整形されたレコードセットまでのフィールドを表示します。
チャプター チャプターと呼ばれる別の "レコードセット"への参照。 チャプター列を使用すると、"親" がチャプター列を含むレコードセットで、"子" がチャプターで表されるレコードセットである "親-子" 関係を定義できるようになります。
集計 (aggregate) 列の値は、すべての行または子レコードセットのすべての行の列に対して "集計関数" を実行することによって派生します。 (次のトピックの集計関数を参照してください。「集計関数、CALC 関数、NEW キーワード」)
計算式 列の値は、レコードセットの同じ行の列に対して Visual Basic for Applications 式を計算することによって派生します。 式は CALC 関数の引数です。 (次のトピックの計算式を参照してください。「集計関数、CALC 関数、NEW キーワード」および「Visual Basic for Applications の関数」)。
new 空の加工済みフィールド。後でデータを入力できます。 列は NEW キーワードで定義されます。 (次のトピックの NEW キーワードを参照してください。「集計関数、CALC 関数、NEW キーワード」)

Shape コマンドには、Recordset オブジェクトを返す基になるデータ プロバイダーに対するクエリ コマンドを指定する句を含めることができます。 クエリの構文は、基になるデータ プロバイダーの要件によって異なります。 ADO では特定のクエリ言語を使用する必要はありませんが、通常は SQL になります。

Shape コマンドは、Recordset オブジェクトまたは Command オブジェクトの CommandText プロパティを設定し、Execute メソッドを呼び出すことによって発行できます。

SQL JOIN 句を使用して、2 つのテーブルを関連付けできます。ただし、階層レコードセットは情報をより効率的に表すことができます。 JOIN によって作成されたレコードセットの各行は、いずれかのテーブルから情報を冗長に繰り返します。 階層レコードセットには、複数の子 Recordset オブジェクトごとに親レコードセットが 1 つだけ含まれます。

Shape コマンドは入れ子にすることができます。 つまり、"親コマンド" または "子コマンド" は、それ自体が別の Shape コマンドである可能性があります。

シェイプ プロバイダーは、ユーザーが adUseServer のカーソル位置を指定した場合でも、常にクライアント カーソルを返します。

プログラムで、または適切なビジュアル コントロールを使用して、形成されたレコードセットレコードセット コンポーネントにアクセスできます。

Microsoft は、Shape コマンドを生成するビジュアル ツール (Visual Basic 6 ドキュメントの「Data Environment デザイナー」を参照) と、この他に階層カーソルを表示するものを提供します (Visual Basic 6 ドキュメントの「Microsoft 階層 Flexgrid コントロールの使用」を参照)。

階層レコードセットの移動の詳細については、階層レコードセット内の行へのアクセスに関するページを参照してください。

構文的に正しい Shape コマンドの詳細については、「Shape の正式文法」を参照してください。

このセクションでは、次のトピックを扱います。