一般的な Shape コマンド
適用先: Access 2013、Office 2013
データ シェイプでは、シェイプされる Recordset の列、列で表されるエンティティ間の関係、および Recordset にデータを設定する方法を定義することができます。
シェイプされる Recordset は、以下のような種類の列で構成されます。
列の種類 |
説明 |
---|---|
data |
データ プロバイダー、テーブル、または既にシェイプされている Recordset に対してクエリ コマンドが返す Recordset のフィールド。 |
チャプター |
チャプターと呼ばれる別の Recordset への参照。 チャプター列を使用すると、親がチャプター列を含む Recordset であり、子がチャプターで表される Recordset である親子関係を定義できます。 |
集計 |
列の値は、すべての行または子 Recordset のすべての行の列に対して集計関数を実行することによって派生します。 (次のトピック「集計関数、 CALC 関数、および NEW キーワード」の「集計関数」を参照してください)。 |
演算式 |
列の値は、Recordset の同じ行の列に対してVisual Basic for Applications式を計算することによって派生します。 式は、CALC 関数の引数です。 (次のトピック「集計関数、CALC 関数、および NEW キーワードとVisual Basic for Applications関数」の「計算式」を参照してください)。 |
新機能 |
空で作成されたフィールド。後でデータが入力される可能性があります。 列は NEW キーワード (keyword)で定義されます。 (次のトピック「集計関数、CALC 関数、および NEW キーワード」の「NEW キーワード (keyword)」を参照してください)。 |
shape コマンドには、 Recordset オブジェクトを返す基のデータ プロバイダーに対してクエリ コマンドを指定するための句を含めることができます。 クエリの構文は、基になるデータ プロバイダーの要件によって異なります。 ADO では特定のクエリ言語を使用する必要はありませんが、通常は Structured Query Language (SQL) を使用します。
SQL の JOIN 句を使用して 2 つのテーブルを関連付けることはできますが、階層 Recordset を使用すると、さらに効率的に情報を表すことができます。 JOIN で作成された Recordset の各行には、1 つのテーブルからの情報が冗長的に繰り返し格納されます。 階層 Recordset では、複数の子 Recordset オブジェクトのそれぞれに対して、ただ 1 つの親 Recordset が存在します。
shape コマンドは、 Recordset オブジェクトによって、または Command オブジェクトの CommandText プロパティを設定して Execute メソッドを呼び出すことによって、発行することができます。
shape コマンドはネストできます。 つまり、parent-command または child-command 自体を別の shape コマンドにすることができます。
shape プロバイダーは、ユーザーが adUseServer のカーソル位置を指定した場合でも、常にクライアント カーソルを返します。
階層 Recordset の移動については、「 階層 Recordset 内の行にアクセスする」を参照してください。
shape コマンドの厳密な構文については、「正式な Shape 文法」を参照してください。