Access中有效性文本和有效性規則的區別?
字段的默認值和有效性規則主要是用于維護數據的有效性與和諧。前者的作用為當向數據表插入數據時,如果未指定插入字段的數據值則自動向該字段插入預設的默認值。后者用于限定允許寫入字段的數據值范圍。至于有效性文本則是規定當寫入字段的數據值違反有效性規則時,系統彈出的提示文本。下面舉例進一步說明這三種屬性的作用。
假設有一張數據表
員工(ID,姓名,狀態)
其中“狀態”字段設置了默認值、有效性規則和有效性文本屬性
默認值="在職";
有效性規則="在職" or "離職";
有效性文本="狀態字段只能輸入“在職”或“離職”兩種狀態"
1)數據表的字段默認值是指為字段設定一個數據值,當向數據表插入一條新記錄時,如果沒有為該已設定了默認值的字段指定一個具體的數據值(也就是留空時),那么系統就會自動將預設的默認值寫入該字段。
運行SQL語句 insert into 員工(ID,姓名) values("001","張三")
員工表增加一條記錄 >> 001 張三 在職 (沒有指定狀態,系統插入默認值“在職”)
2)數據表的有效性規則是指,輸入該字段的數據值不得違反有效性規則的規定,否則系統將拒絕那些違反規定的數據寫入數據表。它可以限定能寫入該字段里的數據值
運行SQL語句 insert into 員工(ID,姓名,狀態) values("002","李四","離職")
因為沒有違反有效性規則,
員工表成功增加一條記錄 >> 002 李四 在職
運行SQL語句 insert into 員工(ID,姓名,狀態) values("003","王五","離開")
因為“離開”違反了有效性規則,
系統報錯,彈出信息框“狀態字段只能輸入“在職”或“離職”兩種狀態”,記錄插入失敗
3)數據表的有效性文本是指,輸入該字段的數據值違反了有效性規則報錯時,系統給出的相關自定義錯誤提示。
運行SQL語句 update 員工 set 狀態="在崗" where 姓名="張三"
語句試圖將張三的狀態改為“離開”違反了有效性規則,
系統報錯,彈出信息框“狀態字段只能輸入“在職”或“離職”兩種狀態”,記錄修改失敗