1 / 32

Ch09 運算式的應用

Ch09 運算式的應用. 資料庫管理. 本章大綱. 本章內容包含課本第16章: 運算式的基礎 運算式建立幫手 在物件建立運算式 運算式的應用實例. 運算式的架構 - 說明. Access 運算式是一個數學或邏輯運算式,這是一個計算欄位值的公式,也就說欄位值不是使用者自行輸入或由查閱欄選取,而是運算式的運算結果。例如:在訂單中的產品價格乘訂購數量是各項產品小計的運算式,如下所示: 小計 :CCur([ 定價 ]*[ 數量 ]*[ 折扣 ]/100) 訂單總金額的運算式,如下所示: Sum([ 小計 ])

chet
Download Presentation

Ch09 運算式的應用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ch09 運算式的應用 資料庫管理

  2. 本章大綱 本章內容包含課本第16章: • 運算式的基礎 • 運算式建立幫手 • 在物件建立運算式 • 運算式的應用實例

  3. 運算式的架構-說明 • Access運算式是一個數學或邏輯運算式,這是一個計算欄位值的公式,也就說欄位值不是使用者自行輸入或由查閱欄選取,而是運算式的運算結果。例如:在訂單中的產品價格乘訂購數量是各項產品小計的運算式,如下所示: 小計:CCur([定價]*[數量]*[折扣]/100) • 訂單總金額的運算式,如下所示: Sum([小計]) • 【小計】是欄位別名,接著在”:”號之後是運算式。另一種應用是查詢物件【準則】欄位的邏輯運算式條件,如下所示: Like "*" & [請輸入客戶名稱] & "*"

  4. 運算式的架構-識別字1 識別字 • 在運算式中的[定價]、[數量]和[折扣]是識別字,使用”[“和”]”號括起的是資料表或查詢物件的欄位值,因為沒有指明資料表,所以是參考同一個資料表或查詢物件。 • 在識別字可以進一步使用”!”和”.”運算子參考物件的控制項和屬性值,如下所示: • “!”運算子:參考到資料表欄位、表單,報表或表單/報表的控制項。 • “.”運算子:參考到表單、報表或控制項的屬性。

  5. 運算式的架構-識別字2

  6. 運算式的架構-運算子 運算子 • 在運算式中的”*”、”-“和”/”是運算子,這就是我們常見的加減乘除和邏輯等數學或邏輯運算子。

  7. 運算式的架構-文字值 文字值 • 在運算式中除了識別字外,還可以直接使用「文字值」(Literal),這就是數字、字串或日期值,不同資料類型的文字值需要使用不同符號來分別,如下表所示:

  8. 運算式的架構-函數 函數 • 運算式中可以使用SQL聚合函數或VBA函數進行計算,例如:CCur()、SUM()、Int()、Date()等函數。在本節前2個運算式範例的說明,如下: • 小計:CCur([定價]*[數量]*[折扣]/100)”:運算式的目的是建立別名為【小計】的欄位,欄位內容是運算式結果的產品金額小計。使用【定價】、【數量】和【折扣】的資料表欄位值進行運算,CCur()是VBA函數,可以將數值轉換成貨幣格式。 • Sum([小計]):運算式是將稱為【小計】欄位(即上述產品小計)的值加總,這就是訂單總金額。Sum()是SQL聚合函數,可以計算指定欄位的總計。

  9. 運算式的使用 • 運算式可以在Access各種物件中使用,在資料庫中經常使用運算式的地方,如下所示: • 資料表物件:設定資料表屬性,例如:欄位驗證規則或預設值欄位。 • 查詢物件:新增欄位或建立【準則】欄位的運算式,可以建立計算欄位或查詢/篩選記錄的條件。 • 表單物件:新增內含運算式作為計算用途的控制項,例如:新增計算各項產品銷售金額小計的控制項。 • 報表物件:新增內含運算式作為計算用途的控制項,例如:新增計算各項產品銷售金額小計的控制項。

  10. 運算式建立幫手-1 • 在Access建立運算式是使用「運算式建立幫手」。請在查詢物件的設計檢視視窗,在【準則】欄的欄位上執行右鍵快顯功能表的【建立幫手】指令,可以看到「運算式建立幫手」對話方塊。

  11. 運算式建立幫手-2 • 在運算式建立幫手對話方塊的使用介面,由上而下可以分成3部分,如下所示: • 運算式方塊:在上方運算式方塊顯示建立的運算式。 • 運算子按鈕:中間一排按鈕可以在運算式插入數學或邏輯運算子。 • 運算式元件:在下方元件清單可以選擇運算式使用的運算元或其它運算子,例如:常數、函數、資料表或查詢物件欄位。

  12. 運算式方塊 • 運算式建立幫手的運算式方塊顯示建立的運算式,這就是準備建立的Access運算式,可以自行輸入、或是按下方運算子按鈕或選取運算式元件來建立運算式,以此例是建立運算式:【Like "*" & [請輸入客戶名稱] & "*"】。

  13. 運算子按鈕-說明 • 在運算式建立幫手的中間有一排按鈕,這些按鈕可以在運算式插入數學、字串、比較或邏輯運算子,在按鈕列的最後2個按鈕是左右括號”(“和”)”,在括號內的運算式比括號外的運算式先執行,其目的是推翻現存的運算子優先順序,即所謂:「先乘除,後加減」。

  14. 運算子按鈕-算術運算子 • 算術運算子是常見的加減乘除四則運算,如下表所示:

  15. 運算子按鈕-字串運算子 • 字串運算子”&”可以連結2個字串,如下所示: "*" & [請輸入客戶名稱] & "*" • 在上述運算式可以在使用者輸入字串前後加上”*”星號的字串。如果運算式的內容不是字串而是數值,運算式會自行將數值轉換成字串後,再進行連結,如下表所示:

  16. 運算子按鈕-比較運算子 • 比較運算子可以建立欄位值的條件範圍,如下所示: <=#1980/1/1# • 上述運算式是指日期值小於等於1980年1月1日,雖然在運算子按鈕只提供常用的”=”、”>”、”<”和”<>”四個,但是我們可以組合出”=”(等於)、”<=”(小於等於)、”>=”(大於等於)、”>”(大於)、”<”(小於)和”<>”(不等於)的比較運算子。

  17. 運算子按鈕-邏輯運算子(AND) • AND邏輯運算子是一種「且」連結,連結的2個運算元都為True,則運算式結果為True,如下所示: [客戶編號]=100 AND [客戶名稱]=”學貫” • 邏輯運算子需要2個條件都成立時才為True,反之為False,其真假值表如下表所示:

  18. 運算子按鈕-邏輯運算子(OR) • OR邏輯運算子是一種「或」連結,連結的2個運算元中,只需任一個為Ture,則運算式結果就為True,如下所示: [地址]=”台北”OR [客戶名稱]=”學貫” • 邏輯運算子的2個條件只需一個成立即可,其真假值表如下表所示:

  19. 運算子按鈕-邏輯運算子(NOT) • NOT邏輯運算子只有一個運算元,這是一種「非」運算,傳回運算元相反的值,如下所示: NOT <=#1998/1/1# • 上述運算式是日期值小於等於1998年1月1日的相反,也就是大於1998年1月1日。其真假值表如下表所示:

  20. 運算子按鈕-邏輯運算子(LIKE-說明) • Like包含運算子只需包含子字串或數值就符合條件,可以配合萬用字元建立範本字串的比對,如下所示: Like "(02)2222-1111" Like "(02)*" • 在上述第1個運算式是找出是否符合字串(02)2222-1111,第2個運算式使用萬用字元”*”星號代表任何子字串或數值,以此例只需電話開頭是(02)就符合條件。

  21. 運算子按鈕-邏輯運算子(LIKE-範例)

  22. 運算式元件-1 • 運算式元件可以選擇運算式可以使用的元件,包括:資料表、查詢、報表物件的欄位、常數和函數等,也可以包括其它運算子,如下圖所示:

  23. 運算式元件-2 • 在算式元件一共分成3個方塊,其說明如下所示: • 左邊方塊:各種Access物件、函數、常數、運算子和共用運算式等資料夾,如果是”+”號,按兩下可以展開其子資料夾。 • 中間方塊:顯示選取左邊方塊資料夾後的詳細元件清單。例如:選【查詢】資料夾下的【查詢客戶的電話號碼】,可以顯示查詢物件的可用欄位。 • 右邊方塊:顯示欄位或控制項屬性值,或是詳細的內建函數清單。

  24. 在資料表物件使用運算式 • 在資料表物件使用運算式主要是使用在欄位屬性的【預設值】和【驗證規則

  25. 在查詢物件使用運算式 • 在查詢物件使用運算式是使用在【欄位】、【準則】和【或】等欄

  26. 在表單物件使用運算式-1 • 在表單物件的控制項可以在【控制項資料來源】屬性建立運算式,或是建立事件來執行指定的運算式。

  27. 在表單物件使用運算式-2 • 表單控制項除了可以使用運算式外,還可以使用巨集或VBA程式碼,其說明如下所示: • 巨集建立幫手:使用巨集指令作為控制項內容的來源,詳細的說明請參閱課本第17章。 • 程式碼建立幫手:使用Access的VBA程式碼作為控制項的資料的來源,詳細的說明請參閱課本第19章。

  28. 在報表物件使用運算式 • 報表物件如同表單物件一般,控制項的內容也一樣可以改為運算式。

  29. 資料表欄位的預設值 • 當在資料表輸入記錄資料時,為了方便輸入,有一些欄位可以設定預設值,例如:大部分圖書產品說明都擁有【附光碟】字串,為了加速資料輸入,我們可以將它設為欄位的預設值。 • 再則,如果欄位資料類型是日期/時間,我們還可以使用Date()函數建立欄位預設值,在新增記錄時直接填入今天日期。

  30. 資料表欄位的驗證規則 • 在資料表設計檢視的欄位擁有【驗證規則】和【驗證文字】屬性,驗證規則可以檢查欄位內容是否符合條件,如果不符合就顯示【驗證文字】屬性的內容。 • 例如:【產品資訊】資料表的【安全庫存】欄位值不可小於等於50本書。

  31. 表單或報表的運算式欄位 • 當使用表單或報表精靈新增控制項時,其資料來源預設是資料表或查詢物件的欄位內容,不過我們還是可以將控制項的資料來源改為運算式,或是在表單或報表新增資料來源為運算式的額外控制項。 • 例如:產品售價是定價的8折,所以筆者準備在精靈建立的報表新增控制項來顯示產品售價。

  32. 練習一 • 課本p. 16-29,p. 16-30實作題10~12題

More Related