接著會說明Word表格中針對重複多筆資料的設定,及如何設定欄位與欄位間的計算公式,讓你可以自動處理欄位間的計算關係。:
我們就以下載的範例檔 "出貨單" 為例, 所謂的單據通常會有表頭資料及表身的明細資料,也就是Master和明細Detail的意思。(如下的 '#' 欄位代表表頭資料, '##' 欄位代表表身明細資料)
上面 # 後面的英文字代表欄位的屬性,補充說明如下:
#R |
RefName,關聯選單,用來開窗選擇另一個關聯選單資料。輸入編號,可以顯示名稱。 |
#RV |
RefVal,同樣關聯選單,用來開窗選擇另一個關聯選單資料。輸入編號,顯示編號,不會顯示名稱。 (可以在#RV 後面定義關聯資料表的名稱) |
只要是明細的欄位定義,皆使用 ## 為開頭 |
|
## |
功能如 # ,可以用來輸入任何內容。 |
##NT |
##N同樣代表為一個數值,##NT則代表為一個數值且會進行加總的欄位。 |
##KR |
它是一個##K(Key),也是一個##R,和##R一樣的用法。 |
明細的欄位,不用考慮印表出來明細的欄位的筆數不夠,表格不夠時它會自動幫你新增。
接下來,我們來看一下一些公式的運用方式。
公式的格式如下:
#[欄位名稱]=計算公式 或
##[欄位名稱]= 計算公式
l 其中等號左邊為 結果欄位,右邊為計算公式欄位
l '#'代表主檔欄位,'##'代表明細欄位
l 不管左邊或右邊欄位,在表格上都必須被找到對應的欄位名稱。
l 計算公式中,可使用 "+","-","*","/","(" ")"等計算符號
l 如果有'##NT'欄位者,可使用 [欄位名稱].Total 來取得加總值,如果要四捨五入到小數第幾位,可以使用 ( ).toFixed(小數位數),如 ([小計].Total).toFixed(1) 取小數1位。
l ##[明細檔欄位名稱]=[主檔欄位名稱],這種方式可以讓明細欄位自動取得主檔欄位的內容。
接下來一樣將 "出貨單" 匯入ICoder Wizard。
可以發現,上面多了一個 "明細表" 的設定,而且在 "其他設定" 中也多了公式的設定。
接著我們程式匯出看看呈現的結果。
這裡,順便提一下 #RV 或 #R 所呈現的結果及它的方便性。
如果#R 或 #RV 沒設定它所關聯的資料表名的話,而它所要關聯的那個資料表的主鍵也就是Key的欄位跟自己的這個欄位名稱一樣,那它會自動關聯到那個資料表,不需要再做設定,並且它會將這個資料表中有和關聯的資料表中欄位名稱一樣的值,在你選好 #R那個欄位選項的時候,一併自動帶入其他的欄位。
如果要關聯的那個資料表的主欄位名稱和這個欄位名稱不同的話,則須在 #R 或 #RV 後面定義該資料表的名稱。
那我們現在以這個 "出貨單"為例。
最後我們看看 "明細檔" 的部分。
一樣先選好 "產品編號" 後,它會把相同欄位名稱的值帶過來,接著你可以輸入看看 "數量" "單價" ,輸入好後,只要你點擊到其他欄位後,你會發現那些要計算的欄位,它都幫你運算好了。
Related Topics
第十章 EEP iCoder Wizard Word進階設計