A と B の 2 つのテーブルがあるとします。A には ID フィールドがあり、B には ID、値、およびタイトル フィールドがあります。2 つの ID フィールドは関連付けられているため、A と B の間には 1 対多の関係があります。
私がしたいのは、A に計算フィールドを追加して、特定の値の関連する B レコードからタイトルを取得することです。これは可能ですか?
A と B の 2 つのテーブルがあるとします。A には ID フィールドがあり、B には ID、値、およびタイトル フィールドがあります。2 つの ID フィールドは関連付けられているため、A と B の間には 1 対多の関係があります。
私がしたいのは、A に計算フィールドを追加して、特定の値の関連する B レコードからタイトルを取得することです。これは可能ですか?
達成しようとしていることに応じて、これを行う方法がいくつかあります。
A::index ---< B::indexOfA
リレーションシップのソート順
A に新しい計算フィールドを作成すると、計算 = B::Title で最初のレコード (ソート順) が使用されます。
例: B にはフィールド B::recordDate があり、レコードが入力された順序に関係なく、常に最新の recordDate が必要です。A::index ---< B::indexOfA 関係を変更して、recordDate の降順で並べ替えます。 . A::titleFromB 計算フィールドは次のようになります。
B::Title
GetNthRecord
http://www.filemaker.com/help/html/func_ref3.33.10.html
B との関係から特定のレコード番号が必要な場合は、GetNthRecord 関数を使用できます。
例: B との関係の 2 番目のレコードを常に表示したい場合、A::titleFromB 計算フィールドは次のようになります。
GetNthRecord(B::Title ; 2)
実行SQL
FileMaker 12 では、ExecuteSQL 計算を使用できます。
例: タイトルを表示したいレコードの B::index がわかっているとします。A::titleFromB 計算フィールドは次のようになります。
ExecuteSQL("SELECT Title from B WHERE index = ?"; ¶ ; "," ; <field, variable or string with index of B> )