在某些情況下,你可能會需要讓 Ragic 自動在一些欄位中幫你填上預設值,像是在資料輸入時自動記錄現在的日期或者時間,如此一來可以省去手動輸入的時間,或是留下記錄的資訊(最後修改人、資料建立日期等),甚至是選項,也可以套用預設值,例如狀態的選項欄位,預設狀態如果都是一樣的話,利用預設值就可以省去使用者另外選擇的時間,也能避免錯誤。
在設計模式中,選擇欄位設定>基本>點擊預設值旁的連結,就能打開預設值的介面。
你可以輸入一個值並將它設定為預設值,如此一來它就會自動在每一筆資料的這個欄位中生成,或者你也可以使用系統提供的變數設定,讓你在輸入或更新資料時,自動產生預設值。
預設值 | 預設格式 | 變數 | 範例 |
---|---|---|---|
建立日期 | yyyy/MM/dd | $DATE | 2015/05/19 |
建立時間 | HH:mm:ss | $TIME | 09:21:05 |
建立日期、時間 | yyyy/MM/dd HH:mm:ss | $DATETIME | 2015/05/10 09:21:05 |
建立年份 | yyyy | $YEAR | 2015 |
建立月份 | M | $MONTH | 5 |
建立工作日 | E | $WEEKDAY | 2 |
建立使用者名稱 | Name LastName | $USERNAME | Jane Doe |
建立使用者e-mail | email@domain.com | $USERID | jane@initech.com |
最後修改日期 | yyyy/MM/dd | #DATE | 2015/05/23 |
最後修改時間 | HH:mm:ss | #TIME | 09:32:06 |
最後修改日期、時間 | yyyy/MM/dd HH:mm:ss | #DATETIME | 2015/05/23 09:32:06 |
最後修改年份 | yyyy | #YEAR | 2015 |
最後修改月份 | M | #MONTH | 5 |
最後修改工作日 | E | #WEEKDAY | 2 |
最後修改使用者名稱 | Name LastName | #USERNAME | Karen Moore |
最後修改使用者e-mail | email@domain.com | #USERID | karen@initech.com |
序列 | 1,2,3 | $SEQ | 3 |
針對「建立」相關預設值變數,如果是先有資料後,才新增預設值的話,由於預設值是在新增或編輯資料當下觸發的,如果欄位是空值會變成抓到當下的編輯使用者與編輯時間,而非該筆資料真正的建立人及建立時間。為了避免此狀況,建議先手動執行一次空值自動填入來帶出資料原本的建立資訊。
如果你需要為預設值設定一個完全不同的格式,只需要在預設值選項下方的格式框直接輸入格式,或者從Ragic提供的格式選項中挑選就可以啦!你也可以為日期欄位設定自訂的日期格式。
你也可以為預設值套用公式,只要在設計模式下勾選「以公式執行」,即可編輯公式。關於Ragic支援的公式列表,請參考此篇說明。
需要特別留意的是,在預設值欄位套用的公式,僅有在第一次編輯參照欄位的時候會執行。後續變更參照欄位時,公式將不會重算。如果你希望每次編輯時都可以重算,請使用一般的公式。
另外,如果表單開啟了自動儲存模式且公式參照一個以上的欄位,預設值公式也不適用,請改用一般的公式。(自動儲存模式會在使用者填寫資料時多次自動儲存欄位值,系統可能在使用者還沒填完所有參照欄位值時,就第一次自動儲存資料並執行預設值公式,導致結果與設計者的預期不同。)
預設值欄位常與"唯讀"選項一起使用,"唯讀"模式確保使用者無法手動更改這個值。
當表單已經有資料的情況下,後來才新增欄位並套用預設值,或是原本沒有套用預設值的欄位,後來才設定預設值的話,Ragic 不會自動依據新的預設值重新填入已經儲存的資料,所以舊資料中這個新欄位的值就會是空的。
如果希望空值都能自動填入新的預設值時,例如:建立日期、建立使用者或匯率欄位等,你可以在設計模式下,參考以下步驟:
步驟1:進入設計模式新增或修改需要的預設值
步驟2:儲存表單設計
步驟3:選擇要填入預設值的欄位,再點「空值自動填入」
點擊後,系統會在背景進行自動填入,如果資料庫中有較多資料可能會需要一些時間。此時可以離開設計模式進行其他操作,自動填入完成後會於左下方跳出通知。
再回到表單頁就可以看到自動填入的欄位值。