一般的な 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 の正式文法」を参照してください。
このセクションでは、次のトピックを扱います。