[FileMaker] 利用 Set Error Capture 擷取錯誤訊息

Set Error Capture 是一個重要的功能,尤其當我們自己寫到 Find 查找 Script 的時候,通常會搭配 Set Error Capture,這樣可以把防止萬一 FileMaker 沒找到記錄,而彈出一個預設視窗。

這個部分用文字比較難描述,簡單用一個例子來說明。

這個飲料店產品檔案中有 13 筆飲料的記錄。

今天想要搜尋 or 只列出「紅茶」的記錄,可以使用 Find 功能,點選工具列中間的「放大鏡」圖示。

螢幕快照 2018-01-08 下午5.26.27.png

進入 Find Mode,欲搜尋的欄位(產品欄位)輸入「紅茶」,按 Enter(或是點選 Perform Find 圖示都可以完成搜尋)

螢幕快照 2018-01-08 下午5.24.50.png

得到兩筆搜尋到的紅茶記錄:「阿薩姆紅茶」、「冰淇淋紅茶」

接下來假設要搜尋「奶茶」

重複同樣的步驟,進入 Find 搜尋模式後輸入「奶茶」兩個字,Enetr螢幕快照 2018-01-08 下午5.34.24.png

因為資料庫裡面沒有任何「奶茶」的紀錄,在找不到任何記錄的情況下,FileMaker 彈出了一個提示視窗,作用在提示使用者沒有找到記錄,使用者可以選擇「Cancel 取消」或是「Modify Find 修改查詢條件」

螢幕快照 2018-01-08 下午6.36.27.png

這個彈出的小視窗,對於熟悉 FileMaker 的使用者或是開發者,沒有任何問題;但是對於不熟悉 FileMaker 的人來說,沒有找到資料的情況下,這個突然出現的小視窗可能會讓使用者不知道該怎麼辦才好。

螢幕快照 2018-01-08 下午5.35.05.png

如何修改預設的彈出視窗,優化使用者體驗

預設的小視窗會彈出是因為 FileMaker 找到 0 筆資料,對於 FileMaker 而言這是一個錯誤訊息,所以彈出小視窗提示錯誤訊息,要把小視窗拿掉必須搭配 Script 的使用,加入 Set Error Capture 的這行程式碼,事先擷取錯誤訊息,就不會出現這個小視窗了。

自己製作一顆「搜尋」按鈕 +「搜尋」程式

步驟一:加入按鈕

螢幕快照 2018-01-08 下午6.12.50.png

 

步驟二:加入搜尋程式 (Script) “Find"

Set Error Capture [ On ]
Enter Find Mode [ Pause: On ]
If [ Get (LastError) = 0 ]
  Show Custom Dialog [......]
  Set Field [ Product::name ; "" ]
  Perform script [ "Find" ]
End If

 

Script 的寫法有一個部分需要特別注意,倒數第二行  Perform Script [ “Find" ] ,確保使用者若是按下「好」重新搜尋輸入條件,會再次進入我們寫好的 Script,而非原本的預設模式。(若是進入原本的搜尋模式,萬一又沒找到記錄,就會出現預設的小視窗,而功虧一簣,所以利用重新執行「同一條」Script 的技巧,確保所有程式都是在可控制的範圍內被執行。)

螢幕快照 2018-01-08 下午6.15.42.png

接下來就可以測試程式了,試著再次重新搜尋「奶茶」,但是這一次要點選剛剛建立的「搜尋按鈕」(注意不是預設的按鈕喔)

搜尋結果:「沒有這筆紀錄,請重新輸入搜尋條件」

彈出改良過的小視窗,這次介面指引比較清楚了。

螢幕快照 2018-01-08 下午6.19.52.png

 

發表迴響

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

WordPress.com 標誌

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

Google+ photo

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

Twitter picture

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

Facebook照片

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

連結到 %s