Claris Studio データの継承
カスタムビューを作成する場合、視覚的階層、データ階層、およびテーブル、フィールド、レコードデータを使用して表示する内容と場所を制御するさまざまな方法を理解することが重要です。
Claris Studio には、3 つの主要なデータのレイヤーがあります:
-
ビュー、フレーム、およびサブビュー
メモ ビューには 1 つのフレームのみがあり、フレームには 1 つのサブビューしか表示できないため、データの観点から見るとこれは事実上同一のレイヤーです。
-
オブジェクトグループ
-
個々のオブジェクト
カスタムビューのソースデータ (テーブル) はそのビューまたはサブビューのすべてのオブジェクトグループに継承され、さらにそれらのオブジェクトグループのすべてのオブジェクトに継承されます。ただし、[プロパティ] パネル > [一般] タブ > [データとレコード] セクションのデータ構成オプションを調整することで、これらの各コンポーネントでどのデータを使用するかを制御できます。
メモ 使用できるオプションは選択したオブジェクトによって異なります。
ビュー
ビューを最初に作成する際、既存のテーブルを指定しない限り関連テーブルが作成されます。最初は、新しいテーブルにはフィールドやレコードはありませんが、フィールドを追加してレコードを入力すると、テーブルに追加されます。
重要 デフォルトでは、ビューに作成されたテーブルは特に指定されていない限り、すべてのサブビュー、グループ、データコントロール、および [オブジェクトを追加] メニューのソースになります。
サブビュー
カスタムビューを最初に作成するときに作成されたテーブルに加えて、サブビュー (上位のオブジェクト) が作成されてビューのメインフレームに表示されます。異なるオブジェクトのセットを持つ複数のサブビューを作成して、フレームに表示するサブビューを選択できます。
グループ
グループは配置されたサブビューからレコードデータを継承するオブジェクトです。レコードデータソースを持たないグループを設定することもできます。また、計算を使用してグループ内のフィールドにデータを供給するビューまたはテーブルを決定することもできます。グループオブジェクトを参照してください。
フィールド
ほとんどのフィールドでは、テーブル、そのテーブルのフィールド、およびレコードデータを継承または計算によって決定するかを設定できます。デフォルトでは、新しいフィールドは継承したテーブルおよび対応するフィールドを使用しますが、別のテーブルの別のフィールドに接続して計算を使用してレコードデータを設定することもできます。フィールドを参照してください。
データコントロール
カスタムビューを作成すると、最初のサブビューの上部にステータスツールバーが配置され、FileMaker Pro と同様にこのツールバーを使用してレコード間を移動できます。このステータスツールバーやその他のデータコントロールのソースをハブ内のアクセス可能なテーブルに変更することができます。たとえば、同じサブビューに 2 つのステータスツールバーを配置して、1 つは「作業」テーブルを、もう 1 つは「顧客」テーブルをソースとして使用すると、両方のテーブルのレコードを同じ場所で表示できます。データコントロールを参照してください。
各ステータスツールバーが異なるレコードのセットをどのように制御しているかに注意してください。
集計オブジェクト
すべての集計オブジェクトは、ハブ内の任意のテーブルをデータソースとして選択できます。集計オブジェクトを参照してください。
静的オブジェクト
データで制御できる唯一の静的オブジェクトはテキストブロックオブジェクトです。このオブジェクトは計算で設定できます。静的オブジェクトを参照してください。
[オブジェクトを追加] メニュー
[オブジェクトを追加] メニューを開くと、[レコードソース] メニューが表示されます。デフォルトでは、ビューにフィールドを追加すると、最初のテーブルがソースとして使用されます。つまり、新しいフィールドがそのテーブルに追加されて既存のフィールドにそのテーブル内のレコードのデータが表示されます。ただし、カード一覧などの別のデータコントロールを追加すると、フィールドを追加するときにソースとして使用できます。カード一覧をデータソースとして使用するフィールドを追加すると、テーブルではなく、データコントロールで選択されたレコードのデータが表示されます。
計算
ビューを最初に作成したときに [プロパティ] パネルを開くと、[データとレコード] セクションに [レコードデータ] および [レコード ID を計算:] フィールドが表示されています。選択するフレームによって次のようになります:
-
[レコードデータ] が [なし] に設定されてる場合、フレーム内のフィールドは事実上どのテーブルにも接続していません。
-
[レコードデータ] が [計算から] に設定されてる場合、フレーム内のフィールドは計算のターゲットによって制御されます。
デフォルトでは、[レコードデータ] は [計算から] に設定され、[レコード ID を計算:] は次の計算に設定されています:
'SubviewName'.statustoolbar.selectedItem.recordID
各要素の意味は次のとおりです:
<SubviewName
> は現在のサブビューの名前です。
<statustoolbar
> はサブビュー内のステータスツールバーのオブジェクト名です。
メモ オブジェクト名はオブジェクトを選択して [プロパティ] パネル > [自動化] タブ > [オブジェクト名を表示] に移動して確認できます。
<selectedItem
> はデータコントロールで現在選択されているレコードです (例: 「1/2」の「1」)。
<recordID
> はレコードの内部 ID です。
メモ この ID 番号は Get (レコード ID) 関数によって返される値と同じです。
この計算は現在のサブビューのステータスツールバーで現在選択されているレコードを使用してそのビューのフィールドに表示される内容を決定します。たとえば、サブビューに「名前」と「作業カテゴリ」という 2 つのフィールドと 2 つのレコードがあるとします:
レコード ID | 名前 | 作業カテゴリ |
---|---|---|
1 | 鈴木真由美 | メンテナンス |
2 | 青木勝史 |
電気 |
ステータスツールバーでレコード 1/2 が選択されている場合、「名前」フィールドに「鈴木真由美」、「作業カテゴリ」フィールドに「メンテナンス」と表示されます。
カスタムビューの計算を使用してサブビューのフィールドの内容を決定するデータコントロール、個々のフィールドの値、およびデータコントロールでレコードをフィルタする方法を指定できます。