首頁 | 關於知識網 | 會員規範 | 知識地圖| 本站連結 | JACKSOFT | 加入會員 |
電腦稽核 >> 電腦稽核軟體討論區 >>[分享]ACL的指令function介紹 ( 字母開頭為C者 )
[分享]ACL的指令function介紹 ( 字母開頭為C者 )

CDOW( )

CDOW( )會回傳該日期是星期幾。

如果想要將星期幾以數字表示,那就要使用DOW( )。

指令的格式

  CDOW(date, length)

date 是特定的日期

length 表示欄位的長度。如果想要以縮寫呈現,那就要縮短欄位的長度。

範例

展示特定日期為星期幾:

  CDOW(`20000801`, 7) = "Tuesday"

  CDOW(`20000802`, 9) = "Wednesday"

  CDOW(`20000801`, 3) = "Tue"

CHR( )

CHR( )會將你提供的十進位數字轉換成ASCII字元。
它允許你參考任何的ASCII字元,特別是那些你無法直接從鍵盤上輸入、或是無法被列印出的字元。

CHR( )的功能恰好與ASCII( )相反

指令的格式

  CHR(character_number)

CHR( )會將character_number轉成ASCII字元傳回。character_number的值應該要介於1~255。

另外0被ACL用來當作欄位值間隔符號,如果將它用在CHR( )中可能會導致無法預測的錯誤。

範例

你可以使用CHR( )來將英鎊的符號 £ 與一個數字結合。

  CHR(163)+"123.45" = "£123.45"

你也可以使用CHR( )當作一種工具,以便在欄位或紀錄中找尋特定的特殊字元。

CLEAN( )

我們用CLEAN( )來搜尋字串內任何不許可的字元,並將該字元之後的所有字元以空白取代

使用CLEAN( )可以確保欄位包含的非法值能被正確地顯示。我們同樣使用CLEAN( )來讓欄位各個部份能夠一致,像是包含姓與名的顧客的姓式欄位。

指令的格式

  CLEAN(string <,extra_invalid_characters>)

這個CLEAN( )指令會從左到右將字元欄位或語法字串掃描一遍,以找出非法值。如果有找到,CLEAN( )就會以空白取代非法的資料與剩餘的字串。

這邊的第二個參數extra_invalid_characters允許你定義額外的非法字元,在用它時,你一定要將字串用" "包起來。

藉由將Blank Invalid Data選項打開,你可以對所有字元欄位自動地使用CLEAN( )。作法是在主選單的Tools裡,找到Options,點選Numeric選單,然後將Blank Invalid Data打勾。

範例

  CLEAN("ABC%DEF","%") = "ABC "

  CLEAN("1234.56,111,2", ",") = "1234.56 "

在以下的範例中,#表式示法的字元資料:

  CLEAN("DOE, JOHN##102891231") = "DOE, JOHN "

  CLEAN("DOE, JOHN##102891231", ",") = "DOE "

CTOD( )

CTOD( )會將字元或數值語法轉換成合法的資料語法。

為了比較日期的欄位值,我們會使用CTOD( )來創造資料,特別當日期不是常數時。例如,在一個日期前,你可以藉由以下的語法定義所有日期

  DATE < CTOD(year+month+day)

ACL用第一個日期1900/1/1來決定恰當的資料值。

這個用法已經被使用日期常數大大地取代了,請各位參考Date。

指令的格式

  CTOD(field <,"date_format">)

CTOD指令將字元字串或數值轉換成合法的日期。CTOD( )是一個被很多其他軟體所用的標準指令名稱。不過不像其它的軟體,ACL也可以將數字轉換成日期。

如果第一個參數是一個數字,那它就會自動地被轉成字串。

我們假設第一個參數會被存 " YYYYMMDD " 或 " YYMMDD "。不過ACL也允許你自己定義日期的格式。舉例來說,我們可以使用下面的語法將日期訂成 " YYDDD "

  CTOD(date,"YYDDD")

這個字串與Set Date和日期資料型態有著相同的形式。因為這字串是個字元字串而非日期,所以它應該被放進雙引號或單引號裡。

範例

假設你有一個應收帳款的表單,裡面有一個到期日欄位叫做Due。現在你想要看所有的在7/1/1995之前到期的交易紀錄,為了達成你的目的,你必須要將所有的到期日資料與1995年7月1號做比較。因為到期日欄位被ACL認為式一個獨特的數字,因此你無法僅拿它與07/01/95或950701做比較。你必須將1995年7月1號轉換成其他的數字。

因而我們使用以下的if判斷式或filter:

  Due < CTOD(950701)

這些語法會傳回1995年12月31號:

  CTOD("951231")

  CTOD(311295,"DDMMYY")

  CTOD("19951231")

  CTOD("951231", "YYMMDD")

  CTOD("311295", "DDMMYY")

  CTOD(951231)

  CTOD(95365, "YYDDD")

  CTOD("31/12/1995", "DD/MM/YYYY")

假設日期的格式是MM/DD/YY:

  CTOD("951220") = "12/20/95"

  CTOD("DEC2095","MMMDDYY") = "12/20/95"

CUMIPMT( )

CUMIPMT( )會計算在一段特定時間內借貸的利息支出。

指令的格式

  CUMIPMT(rate, periods, amount, start_period, end_period <,type>)

rate表示一段週期內的利率

periods表示借貸的週期

amount表示借貸的金額

start_period表示週期的開始,你不能使用0當第一個週期。

end_period表示最後一個週期。結束的週期不能比總付款週期還要長

type表示付款是在週期的開始還是終了時到期。它的預設值為0,表示付款是在週期終了時到期。1的話則表示付款是在週期的開始到期。

舉例來說,如果你有個採月付的兩年借款,它的利率是6%,因此我們的利率要用.06/12,而週期是2*12。如果你是年付的話,則利率是.06,而週期是2。

範例

我們現在要看一個25年,金額$275000,年利率6.5%,付款到期為週期開始的借款,在第二年的時候要付多少錢:

  CUMIPMT(0.065/12, 12*25, 275000, 13, 24, 1)

我們總共要付的金額為$17343.28。

接著讓我們看看第一年要付多少利息:

  CUMIPMT(0.065/12, 12*25, 275000, 1, 12, 1)

我們總共要付的利息為$16164.17。


2
 
 

   
相關標籤
   
回文 #1
回覆會員暱稱:
點數:
等級:初學者

榮譽勳章:初學者
發文篇數:500
回文時間:2009-09-09 20:50:59

不知有沒有試用軟體可供下載自學
   
回文 #2
回覆會員暱稱:玉米
點數:7050
等級:知識長

榮譽勳章:知識長
發文篇數:344
回文時間:2009-09-09 20:43:10

挖~~介紹的好詳細
網站建議與問題回報 | 隱私權政策 | 網站管理規範 | 條款與政策