2013-04-07 99 views
2

假設我有兩個表,A和B.A有一個ID字段,而B有一個ID,值和標題字段。這兩個ID字段是相關的,所以A和B之間存在一對多的關係。FileMaker:以一對多關係獲取特定的相關記錄

我想要做的是在A中添加Calculation字段以從相關B記錄中檢索標題以獲得具體的價值。這可能嗎?

回答

2

有幾個方法,你可以這樣做,取決於你想要達到的目的:

A::index ---< B::indexOfA 

關係排序

如果您在創造一種新的計算領域計算= 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的第二記錄你的A :: titleFromB計算領域將是:

GetNthRecord(B::Title ; 2) 

的ExecuteSQL

在12的FileMaker你可以使用一個ExecuteSQL計算。

示例:假設您知道要顯示標題的記錄的B ::索引。你A :: titleFromB計算領域將是:

ExecuteSQL("SELECT Title from B WHERE index = ?"; ¶ ; "," ; <field, variable or string with index of B>) 
0

要構建你的關係的方式是A和B各自有自己獨特的ID字段。然後在B中,有一個id_a字段(或類似的東西),你可以在那裏建立你的關係。

從那裏我回應pft221關於ExecuteSQL的說法。這對我來說是一個很好的功能。這將是這樣的:

ExecuteSQL ("SELECT Title FROM B WHERE id_a =? and title = ?"; ""; ""; <id_a value>; <title value>)

你也可以做一個內部聯接,但似乎是多一點的麻煩比它的價值。

相關問題