[FileMaker] 利用 Self-Join Portal + Filter 設定,新增產品記錄的技巧

今天想要分享在 FileMaker Magazine 網站看到的一個技巧:

利用 Self-Join Portal + Filter 設定,新增產品記錄(因為示範使用的檔案是針對產品資料庫,實際上這邊的記錄可以指所有的Record「紀錄」,並不侷限於產品記錄而已。)

關於這個方法,第一次看到的時候嚇了一跳,竟然可以這樣使用,實在是非常的方便啊!但是我忘記是在 FileMaker Magazine Website 還是 FileMaker Magazine Youtube 看到的,Matt Petrowsky 是高產量的教學者,加上用影片產出的方式,不容易搜尋內部內容關鍵字,所以暫時找不到影片來源連結,日後有看到再回來補上。

使用的檔案仍是先前一直使用的檔案:50藍茶飲-01

操作步驟介紹:

新增一個 Global Field 欄位:PRODUCT_ADD,點擊 Options…,做欄位細部設定

螢幕快照 2018-02-04 下午5.42.20.png

進入 Storage,勾選 " Use global storage (one value for all records) "

螢幕快照 2018-02-04 下午5.43.21.png

進入 Relationships 關係圖設定,新增一個 <TO> Table Occurrence: “Product_Add"

連接 “Product" 跟 “Product_Add" 兩個 <TO> Table Occurrence

連接的欄位為  name [ = ] PRODUCT_ADD

螢幕快照 2018-02-05 下午7.05.04.png

點選 [=] 進入關係設定編輯,勾選右邊 Product_Add <TO> 的 " Allow creation of records in this table via this relationship "

螢幕快照 2018-02-05 下午7.06.11.png

回到 Layout Mode,新增一個 Portal: " Product_Add "

設定這個 Portal 只有唯一的一行,唯一用途就是要用來「輸入產品名稱」

點選 " Filter portal records " Specify…

螢幕快照 2018-02-04 下午11.57.26.png

Filter 設定為 " False “,這裡是 FileMaker 比較「特殊」的部分!

Portal 的特性是「最後一列是預備輸入新記錄的位置」

我們剛好可以利用這個特性,Filter " False " 把這個不顯現的欄位顯現出來,讓我們可以用來新增產品名稱!

螢幕快照 2018-02-05 上午12.01.03.png

Portal 裡面放 Field 欄位:Product_Add::name

稍微調整一下 Portal 跟 Field 欄位的長寬大小,還有欄位的文字對齊

螢幕快照 2018-02-05 上午12.12.26.png

回到 Browse Mode,可以看到「新增產品」欄位被包覆在 Portal 之中

螢幕快照 2018-02-05 上午12.11.43.png

測試一下,在新增產品的欄位輸入「紅茶18號」新產品名稱

螢幕快照 2018-02-05 上午12.18.47.png

在 Portal 之外任何位置點選一下,Commit 輸入

新產「紅茶18號」的產品名稱快速建立完成。

然後新增產品的欄位會「自動清空」,準備下一筆產品名稱的輸入,不需要另外寫 Script,這是這個技巧最大的優點之一!

螢幕快照 2018-02-05 下午7.14.02.png

結論

這個範例看似簡單但實際不簡單,相關的技巧跟知識都要齊備,才能完成這個好用的功能,不過相對的,直接學習去學習如何複製出這個功能,我們可以學會下面幾個觀念:

  1. Self-Join Relationship
  2. Table 和 <TO> Table Occurrence 的差異
  3. Portal
  4. Filter Portal Records
  5. Global Field

此外,還有一個好處,有朋友在聊天時提到不知道怎麼設定 <TO> 關係,我們今天看到的這個範例:50藍茶飲-01,從頭到尾就只有一個 Table: Product

其他用來做關係連接的 Table Occurrence <TO>: Product_All, Product_Add,Product_All 用來「顯示」所有產品資料;Product_Add 則用來「新增」產品

這兩個 <TO> 的來源都是 Product 這個 Table,也可以說兩個 <TO> 是 Product 的分身,連自己都可以分身讓自己連接創造關係了,沒道理不能連接不同來源 Table 的 <TO>

唯一需要注意的是要利用關係的目的為何、用什麼欄位連接、連接的方式,這些才是考慮的重點,也是學習 FileMaker 這個「關聯式」資料庫,特別需要用心理解的重要關鍵。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s