[FileMaker] 街頭藝人系列(六):自製快速搜尋框

FileMaker 工具列最右邊有一個「快速搜尋」的功能,可以搜尋到所有欄位的資料

正確來說,應該是所有有勾選 Quick Find 功能的欄位

螢幕快照 2018-03-25 下午11.11.08.png

在這個 Search 欄位搜尋,跟一般我們按 Find 搜尋不一樣,Find 搜尋會針對我們所選擇的「某一個」特定欄位做搜尋,Search「快速搜尋」則是對好幾個欄位共同搜尋

這個功能非常方便,我們來實際測試一下就知道

在 Search 欄位輸入「米」一個字快速搜尋,總共得到 9 筆資料,可以看到不只在表演項目有米字的記錄有被搜尋到(如米雕、爆米香……等),姓名中有米字的街頭藝人也被放到搜尋結果之中(如米奇峰、蕭惠米)

螢幕快照 2018-03-25 下午11.16.39.png

如果我們想要自己製作這樣的快速搜尋框,再加上一個小功能:「每打一個字就自動即時搜尋」

這樣的功能要怎麼做呢?

以下介紹操作步驟

步驟 1:建立 Global Field

先建立一個 Text Field 文字欄位,命名為 SEARCH(全大寫代表我的 Global Field 命名規則)

記得要點進 Options 進階選項,把 Global Field 選項打勾

螢幕快照 2018-03-25 下午11.24.54.png

螢幕快照 2018-03-25 下午11.25.15.png

步驟 2:安排 Global Field 位置

將 Global Field 加入到 Header Part 黑色標題列

螢幕快照 2018-03-25 下午11.27.45.png

步驟 3:建立 Script

新增一個 Script,命名為 Search,程式很簡單,只有兩行

Perform Quick Find [ 街頭藝人::SEARCH ]
Go to Object [ Object Name: "field.seach" ]

第一行 Script: Perform Quick Find 就是模擬工具列最右邊的快速搜尋功能,搜尋我們給的 Global Field 欄位內容,這個部分比較直接,比較需要解釋的是第二行 Script

特別要加上 Go to Object,是因為我們希望每打一個字就「自動」搜尋,搜尋完「也要」自動回到搜尋框,以方便我們打下一個字!

為了達到這個功能,我們就必須告訴 FileMaker 要回到 Global Field 欄位,我們預先將 Global Field 欄位這個「物件」命名為「field.search」

PS. 步驟 3 需搭配 步驟 4 一起使用

螢幕快照 2018-03-25 下午11.29.50.png

步驟 4:命名 Object 物件

點選 Global Field 欄位,叫出 Inspector,點選第一個部分的位置 icon,在 Position 的姓名 Name 處填上剛剛設定好的 Object 物件名稱:「field.search」

命名完成後,第 3 步驟的 Script 也才算能真正發揮作用

螢幕快照 2018-03-25 下午11.40.33.png

步驟 5:設定 Script Trigger: OnObjectModify

右鍵點選 Global Field,選擇「Set Script Triggers…」

螢幕快照 2018-03-25 下午11.47.19.png

點選 OnObjectModify

Script 選擇 「Search」

螢幕快照 2018-03-25 下午11.48.14.png

步驟 6:測試

基本設定完成,接著可以開始測試

回到 Browse Mode,在搜尋框輸入「吹」一個字,自動出現 86 筆搜尋結果

螢幕快照 2018-03-25 下午11.51.52.png

搜尋框還預備繼續讓我們填寫下一個字,我們繼繻輸入第二個字變成「吹糖」

這個時候搜尋結果隨即變成 10 筆

螢幕快照 2018-03-25 下午11.54.35.png

測試成功!

「自製快速搜尋框」是非常方便且好玩的功能,有機會可以試試。

但這個功能最後會遇到一個小缺點,這邊先暫時擱置不談,之後有機會回來補充。

 

關於自動搜尋 / 即時搜尋

[FileMaker] Dynamic Portal 的應用 – 即時搜尋

[FileMaker] 有辦法設定搜尋的時候,像google那樣,自動跳出相關的關鍵字嗎?

對「[FileMaker] 街頭藝人系列(六):自製快速搜尋框」的想法

發表留言