防止重覆(主報名人和同行人士多欄位檢查)
使用場景
報名表有「主報名人」和最多「2位同行人士」資料如下:
要求如下:
系統會使用「英文全名」+ 「香港身份證 (首4位)」作重覆檢查。
參加者和同行士都會納入重覆檢查範圍,即「參加者」不能和「同行人士」相同,反之亦然,而同行人士之間亦不能重覆申請。
複雜之處
現在系統可以獨立處理以上2點要求:
第一點:可以使用 防止重覆(同時檢查多個報名表欄位)處理;但不支援「同行人士」欄位。
第二點:可以使用 防止重覆(跨欄位檢查)- Cross-field Duplication Check 處理;這個支援「同行人士」欄位,但只支援檢查一個欄位。
所以並不能同時滿足以上2點。但是,我們可以透過合併檢查欄位完成。
解決方案
1) 建立新的合併欄位
把「英文全名」+ 「香港身份證 (首4位)」自動合併到一個新的欄位,再為該新的欄位進行檢查。
我們建立了3個新的欄位,分別自動紀錄參加者和同行人士的「英文全名」和「香港身份證」,可按此查看設定「自動填寫」功能。
注:在輸入版面,當用戶輸入參加者的英文姓名為「CHAN ONE」和身份證為「A123」時,「參加者重覆檢查ID」欄位會自動填寫。
以下是各欄位的「自動填寫」設定:
參加者欄位:
同行人士欄位,需要指定「目標欄位多重紀錄排序」,如果是第一個便輸入一,讓系統知道合併那一個同行人士:
2) 為合併欄位設定重覆處理
建位後,我們只需為新增的3個合併欄位設定重覆處理。
自身欄位重覆檢查
以「參加者重覆檢查ID」為例,啟用重覆處理,設定如下:
3) 跨欄位重覆檢查
由於除了檢查「參加者」外,亦需要檢查「同行人士」,使用防止重覆(跨欄位檢查)- Cross-field Duplication Check,設定如下:
為「同行人士(1)重覆檢查ID」和「同行人士(2)重覆檢查ID」兩個欄位作同樣的設定便完成。
設定不會滙出至 Excel:
解決方案限制
在報名表如果有很多同行人士,例如10個,便需要建立10個合併欄位,需要花很多時間設定
由於合併欄位只紀錄了報名當時的輸入資料,如果重覆檢查規則有變,例如便用「英文姓名」+「電話號碼」而非「身份證號碼」,即是舊有的報名紀錄已經儲存了「電話號碼」,但合併欄位並沒有紀錄電話號碼,更改合併欄位(或建立新的)只能針對未來的報名紀錄,而不能針對舊有的報名紀錄作檢查。