本週二 FileMaker Taipei Meetup 聚會後有朋友詢問:
在嘗試去建立 Barcode Combo 檔案的時候,這邊的建立並不是直接複製 Field 欄位等等 ,而是自己去模仿部分的 Code,這樣的確是讓自己印象深刻的學習方式,但有可能會遇到一些「坑」(這裡的坑指的容易犯的錯誤,若掉進坑裡,沒有旁人幫助的話,沒花點時間要爬出來可不容易)。
今天把朋友在模仿 Barcode Combo 檔案遇到的幾個問題記錄下來,分享在這邊,希望一起學習 FileMaker 的人可以避免掉入這些坑。
問題一:條碼過短,好像哪裏怪怪的?
在「條碼輸入」的欄位輸入文字(比如 FileMaker),「條碼顯示」的欄位所顯示的條碼很短,這應該不是想要的結果,應該是有地方出錯了。
檢查檔案 Database
這個檔案預設兩個 Custom Function:(詳細資料可自行參考檔案)
- Code39
- Code39Bit
這兩個 Custom Function 是就是 Barcode 能夠實現的關鍵,那我們去看使用到這兩個 Custom Function 的欄位:「長型條碼字節」、「條碼顯示」
先看「長型條碼字節」欄位
朋友把「長型條碼字節」欄位按照原作的作法,設定成 Auto-enter 計算欄位:
Code39Bit ( 條碼顯示 ; 條碼對齊方式 ; 300 )
發現問題
大家有發現奇怪的地方嗎?
沒錯,在三個 Parameter 的第一個「條碼顯示」,應該是要選擇「條碼輸入」才對,這個函數的目的應該是要把「輸入的符號文字」轉換成「條碼顯示」才對。
朋友把「條碼顯示」放在了「條碼輸入」的 parameter 上面,當然會有問題。
修正問題
知道問題在哪,那就直接修正就好了
將第一個 Parameter 改成「條碼輸入」
Code39Bit ( 條碼輸入 ; 條碼對齊方式 ; 300 )
測試結果
修改完成,做一下測試。
抓對問題,跳出這個坑,條碼可以正常顯示了!
問題二:但是,條碼置中、置右可以呈現,為什麼置左就不行了呢?
沒那麼順利,朋友的第二個問題很快出現了。
我們可以看到在「條碼輸入」的欄位右邊有三個小英文字「l, m, r」分別代表的是「置左、置中,置右」的條碼呈現方式。點選「l」理論上條碼應該置左顯示,但選完竟完全沒有畫面了。
繼續爬坑。
檢查 Value List
因為我們知道「l, m, r」的控制在 Value List 中,所以直接先打開 Value List 做檢查。
裡面僅有一個 Value List: 「條碼對齊方式」,點開檢查。
發現問題
原來英文字「l」左方多了一個「空格」,這樣可不行,FileMaker 會把「l 」認成一個值,但我們實際需要的是沒有帶空格的「l」,這樣才能順利被辨認。
修正問題
刪除空格即可!
測試結果
修改完成,做一下測試。
抓對問題,跳出這個坑,置左條碼可以正常顯示了!
結論
以上的綜合整理,希望有幫助。
如果今天是複製別人的檔案做使用,建議一開始先不要做任何修改,按照順序
- Custom Function
- Value List
- Table
- Field
- Layout(如果有需要的話)
把檔案原原本本的複製過來先用,不然真的很容易遇到莫名其妙的問題,若這些問題並不是一時三刻可以解決的,就可能會耽誤到寶貴的開發時間。
至於若是要自己練習做學習,也是很好的事情,值得鼓勵,若是遇到問題,可以參考本篇文章的方法,基本上就是按照「檢查檔案」、「發現問題」、「修正問題」、「測試結果」幾個步驟反覆執行,直到成功為止。
當然,經驗會讓 Debug 的速度加快,另外把檔案拿到網路上的論壇、社團詢問,也是很好的解決問題的方式,但前提是要盡量把問題說明清楚,最好能夠「附檔」或是「附圖」,這樣獲得解決的機會會更高。
另外,歡迎把問題帶到每週二實體的 FileMaker Taipei Meetup 詢問有經驗的朋友。