第十一章 EEP iCoder Wizard Word進階設計第十一章 EEP iCoder Wizard Word進階設計\11-1單據與計算公式

11-1單據與計算公式

接著會說明Word表格中針對重複多筆資料的設定,及如何設定欄位與欄位間的計算公式,讓你可以自動處理欄位間的計算關係。:

我們就以下載的範例檔 "出貨單" 為例, 所謂的單據通常會有表頭資料及表身的明細資料,也就是Master和明細Detail的意思。(如下的 '#' 欄位代表表頭資料, '##' 欄位代表表身明細資料)

 

  #  後面的英文字代表欄位的屬性,補充說明如下:

#R

RefName,關聯選單,用來開窗選擇另一個關聯選單資料。輸入編號,可以顯示名稱。
(可以在#R 後面定義關聯資料表的名稱,如果不定義,iCoder Wizard可以幫你按照欄位名稱自動找出對應的資料表,當然這個資料表要事先使用iCoder Wizard編程匯出)

#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 後面定義該資料表的名稱。

那我們現在以這個 "出貨單"為例。

 

最後我們看看 "明細檔" 的部分。

一樣先選好 "產品編號" 後,它會把相同欄位名稱的值帶過來,接著你可以輸入看看 "數量" "單價" ,輸入好後,只要你點擊到其他欄位後,你會發現那些要計算的欄位,它都幫你運算好了。


 

Top of Page