本文介紹了為什麼用戶應避免使用 c數據庫中的alculated字段,而是使用“查詢”。
MS Access允許用戶在表設計中創建計算列(字段類型)以執行各種計算,但是更經常地,它破壞了規範化規則。 因此,建議使用查詢代替計算字段。 本文將詳細闡述這一點。
MS Access中的計算字段
計算字段是電子表格的組成部分,旨在幫助用戶有效地開發應用程序。 但是,按照規範化規則,不建議存儲依賴於其他字段的值,以避免混淆和不規則。 儘管計算所得的字段方便且易於使用,但應避免使用它們,因為它們僅被編程為運行內置函數,因此無法調用用戶定義的函數。 訪問不允許計算所得的字段包括來自不同表或查詢的字段。 用戶還需要提供所有其他參數以避免錯誤。 還值得考慮的是,僅在運行時(即在執行查詢或基於查詢的報告時)生成計算字段的結果時,才計算它們的結果。
應當注意,MS Access 2010之前的Access版本將無法運行這些表,從而限制了其使用。 計算字段的可靠性相對較低,因為在將數據輸入到表中後,更改表達式後幾乎無法正確更新結果。 這些是避免計算字段的主要原因。
查詢

我們以「數量」和「單價」兩個欄位為例,使用者需要將「數量 * 單價」的表達式賦值給另一個欄位「金額」。因此,使用者不應使用「計算欄位」功能,而應基於表格建立一個查詢。他們可以在查詢設計的“字段”行中輸入表達式,例如:
Amount: [Quantity] * [UnitCost]
它將創建另一個名為“金額”的字段,該字段將更簡單,更高效。 基於此查詢的表單和報表將像其他任何記錄一樣對待計算的字段。
存儲計算結果
在某些情況下,用戶感到需要存儲不同的值,並且需要一些靈活的規則。 但是,可以在After Update事件的幫助下完成此操作,該事件將允許用戶覆蓋計算並根據自己的偏好輸入不同的值。
在MS Access 2010版本中,可以選擇將顯示表達式的“計算數據”類型。 用戶可以鍵入該表達式(例如[Quantity] * [Unitprice]),每次用戶輸入記錄時,Access都會進行計算。 該功能的問題是表達式有限,因此限制了用戶將其用於實際目的。
作為Access用戶,您應該時刻準備著應對數據損壞事件。 萬一您遇到這種情況,請不要猶豫地調用功能強大的工具,例如 DataNumen Access Repair 至 修復MDB 文件。
作者簡介:
Vivian Stevens是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修復SQL 和excel恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM