800 likes | 911 Views
資料表的進階設計. 本章提要. 進階的欄位屬性設定 設定 『 輸入遮罩 』 管制欄位資料的正確性 管制整筆記錄的正確性 設定 『 查閱 』 頁次的屬性. 進階的欄位屬性設定. 進階的欄位屬性設定. 進階的欄位屬性設定. 『 欄位大小 』 屬性 『 格式 』 屬性 『 小數點位數 』 屬性 『 標題 』 屬性 『 預設值 』 屬性 『 必須有資料 』 屬性 『 允許零長度字串 』 屬性 其它的屬性. 『 欄位大小 』 屬性. 欄位大小 - 文字資料類型. 文字資料類型
E N D
本章提要 • 進階的欄位屬性設定 • 設定『輸入遮罩』 • 管制欄位資料的正確性 • 管制整筆記錄的正確性 • 設定『查閱』頁次的屬性
進階的欄位屬性設定 • 『欄位大小』屬性 • 『格式』屬性 • 『小數點位數』屬性 • 『標題』屬性 • 『預設值』屬性 • 『必須有資料』屬性 • 『允許零長度字串』屬性 • 其它的屬性
欄位大小-文字資料類型 文字資料類型 • 文字欄位的預設大小為50,其範圍為0~255個字元,每一個中文字佔2個字元。
雙精準數 欄位大小 輸入數值範圍 負值: -1.79769313486231E308 至 -4.94065645841247E-324 正值: 1.79769313486231E308 至4.94065645841247E-324。 小數點位數 15 儲存空間 8 位元組 位元組 0 ~ 255 無 1 位元組 整數 -32768 ~ 32767 無 2 位元組 複製編號 全域唯一識別子 不適用 16 位元組 長整數 -2147483648 ~ 2147483647 無 4 位元組 小數點 (浮點數) -1028 -1 至1028 -1 28 12 位元組 單精準數 負值: -3.402823E38至-1.401298E-45 正值: 1.401298E-45 至3.402823E38 7 4 位元組 欄位大小-數字資料類型
『格式』屬性 • 格式是用來設定資料要如何的顯示或列印出來。例如:
符號 > 代表意義 將輸入的英文字都顯示為大寫 設定示範 > 顯示結果 在格式欄中輸入”>”,輸入”john”時,將顯示為”JOHN” @ 顯示所有輸入的字元,包含空格 @@@@ 輸入”John”時,顯示為”John”。若只輸入”Joh”時,則顯示為 ” Joh”,Joh前加入了一個空格。 < 將輸入的英文字都顯示為小寫 < 在格式欄中輸入”<”,輸入” JOHN”時,將顯示為” john” & - 顯示所有輸入的字元,遇空格時,則予以省略 在字元間加入”-”符號 &&&& @@-@@@@@@@ 輸入”John”時,顯示為”John”。若只輸 入” Joh”時,則顯示為”Joh”,Joh前不加空格。 輸入”023697302”,將顯示為”02-3697302” 文字與備忘
格式設定 說明 輸入值 顯示值 通用數字 依輸入方式顯示數字。當數值過大時,則轉以科學符號顯示 2786.1 2786.1 貨幣 在輸入的數字前加入貨幣符號($),使用千位分隔符號(,),預設兩位小數。 2786.1 $2,786.10 整數 依輸入方式顯示數字,但預設兩位小數。 1000.8 1000.80 標準 依輸入方式顯示數字,但預設兩位小數,且使用千位分隔符號(,)。 1000.8 1,000.80 百分比 將輸入的數字乘以一百,並在數字後加入百分符號,預設顯示兩個小數點位數。 0.85 85.00% 科學記法 使用科學記法方式,顯示數字資料 5872 5.87E+03 數字、貨幣與自動編號
符號 使用說明 範例 輸入值 顯示值 0 顯示一個數字,若未輸入會顯示0 00000 1752.689 01753 # 顯示一個數字,若未輸入不會顯示0 # 1752.689 1753 .(句號) 控制小數點出現的位置 #.## 1752.689 1752.69 ,(逗號) 出現千位分隔符號 #,### 1752.689 1,753 $ 顯示貨幣符號 $#,### 1752.689 $1,753 E-或e- 以科學記號顯示數字,負指數將出現負號,但正指數不會出現正號 0.00E-00 1752.689 1.75E3 0.1752 1.75E-1 數字
自訂格式語法 區段一;區段二;區段三;區段四
資料類型 各區段的意義 區段一 區段二 區段三 區段四 文字與備忘 正常輸入時的格式 輸入零字串或”Null”值時的顯示格式 無,分隔符號(;)不用保留 無,分隔符號(;)不用保留 數字、貨幣與自動編號 輸入數字為正數時的格式 輸入數字為負數時的格式 輸入數字為零的格式 Null值時的格式 是/否 無,但分隔符號(;)要保留 值為真時的顯示格式 值為假時的顯示格式 無 各區段的意義
『輸入遮罩』屬性 • 例如使用者在輸入電話號碼時, 可能會輸入:
什麼是『輸入遮罩』 • 對於這些不統一的格式, 在尋找或排序資料時會造成相當大的困擾。而輸入遮罩的功能, 就是提供給使用者一個固定的輸入格式, 例如:
設定『輸入遮罩』 • 只有文字、數字、日期/ 時間及貨幣類型的欄位可以設定輸入遮罩。不過一般來說, 我們通常只會對文字或日期/時間設定輸入遮罩。 • Access 已經替文字及日期/時間類型準備好了一個輸入遮罩精靈。請開啟欄位屬性測試資料表, 並開啟到設計視窗:
設定『輸入遮罩』 • 最後按完成鈕, 即設定好了電話號碼的遮罩, 請切換到資料工作表檢視視窗, 我們來試著操作看看:
設定『輸入遮罩』 • 日期/時間類型的輸入遮罩精靈和文字類型差不多, 只是可選取的項目不同而已:
符號 意義 是/否一定要輸入 範例 輸入範例 0 只能輸入數字0-9 是 000 123 # 可輸入數字0-9或空白,且可輸入+與-,但若輸入遮罩的符號不被儲存,則儲存時空白會被取消 否 #### + 23 9 可輸入數字0-9或空白,但不可輸入+與- 否 99\-999 12- 3 L 可輸入字母A-Z 是 LL\.0000 NO.0012 ? 可輸入字母A-Z 否 ???\.0000 NO.0012 自訂輸入遮罩(一)
符號 A 可輸入字母A-Z與數字0-9 意義 是 是/否一定要輸入 AAAA 範例 Z123 輸入範例 a 可輸入字母A-Z與數字0-9 否 aaaaa Z123 & 可輸入任何字元與空白 是 &&&&& A- 021 C 可輸入任何字元與空白 否 CCCCCC A- 021 @D 輸入中文 是 @DL000000 地B456725 \ 顯示後面這個字元 00\?00 12?12 自訂輸入遮罩(二)
. , : - / 符號 意義 小數點定位與千位、日期及時間的分隔符號,實際使用的字元,將以Windows 98/Me的控制台中,國別設定內容對話盒之設定為依據 是/否一定要輸入 範例 輸入範例 > 強迫右邊的字母變成大寫 >???? JOHN < 強迫右邊的字母變成小寫 <???? john ! 使輸入遮罩從右到左顯示,而不從左到右顯示。鍵入遮罩中的字元始終從左到右填滿遮罩。您可在輸入遮罩的任何地方加入驚嘆號。 !???? 輸入二個空白 自訂輸入遮罩(三) jo
『小數點位數』屬性 • 這個屬性可用來控制數字及貨幣類型的資料, 在顯示時要有固定的小數位數。例如您不要顯示小數位數, 就可以設為 0。預設的是自動, 表示不做任何控制 (依照原來的格式)。
『標題』屬性 • 標題屬性中設定的字串, 可在顯示或列印時取代欄位名稱。例如我們將書籍編號欄的標題設為書號, 那麼無論在顯示或列印資料表視窗時, 您看到的欄位標題都會是"書號"。
『預設值』屬性 • 除了自動編號、OLE 物件之外的類型, 都可以指定一個在新增資料時自動輸入的欄位預設值。Access 預設會將數字、貨幣類型的預設值屬性設為 0, 其它類型則無預設值。
『必須有資料』屬性 • 這裡只能填入是或否, 若選是, 那麼該欄位就一定要輸入資料而不得為空白, 否則當離開該筆記錄時會出現如下視窗: • 若設定為否, 而且在編輯時也沒有填入資料, 則該欄位的值將被設為Null。
何謂 Null 值 • Null表示不知道、未知的情況, 即表示目前設定為 Null 值之欄位沒有包含任何資料。例如我們在輸入一筆客戶資料時, 若對方的地址尚不確定 , 那麼就可以留空白表示其為 Null值, 待稍後地址確定了再行補上。
『允許零長度字串』屬性 • 零長度字串就是長度為 0 的字串, 我們也可稱之為空字串, 以 "" (二個連續的雙引號) 來表示。 • 這個屬性只對文字及備忘類型有效。預設為否, 表示編輯時若只輸入一或多個空白字元 (按 [Shift] 鍵), Access 會將之轉換成 Null 值來儲存。
『允許零長度字串』屬性 • 若設為是, 則輸入的『""』或『由空白組成的字串』會以零長度字串來儲存, 只有在不輸入任何資料時才會以 Null 值儲存。
『零長度字串』 和 Null 的差異 • Null 是表示未知的狀況, 而零長度字串則表示已知, 但其值為一個零長度的字串。 • 例如在客戶資料表中的電話欄, 我們可以將其允許零長度字串屬性設為是, 那麼在輸入時若不知道對方的電話號碼, 就不要輸入任何值 (Null);若知道對方根本沒有申請電話, 那麼就可以輸入 "" (零長度字串) 來表示。
其它的屬性 • 索引:在第 3 章已介紹過, 不再贅述了。 • 輸入遮罩:此屬性可設定讓使用者只能依照固定格式輸入, 在下一節為您介紹。 • 驗証規則與驗証文字:設定能對輸入資料做一些正確性的檢查, 留到 15-4 節再介紹。 • 查閱頁次中的各項屬性, 將在 15-6 節詳細介紹。
驗証規則與驗証文字 • 當使用者在輸入資料時, 難免會有粗心打錯的時候, 此時如果我們能對輸入資料做一些正確性的檢查, 就可以降低這種錯誤發生。例如在輸入書籍的單價時, 不小心將400 打成4000 或40, 我們就可以設定單價欄位的驗証規則與驗証文字, 以減少輸入的錯誤:
設定驗證規則的效果 • 設定好驗證規則及文字後, 日後當我們輸入超過規則範圍時, Access 就會拒絕輸入, 並顯示如下的訊息:
驗証規則的格式 • 驗証規則的格式通常為一個運算元加上一個值, 例如: • 如果有多個條件, 可以用 And 或 Or 來連接, 例如:
驗証規則的格式 • 常用的運算元如下:
驗証規則的格式 • 常用的運算元如下:
驗証規則的格式 • In() 是用來判斷輸入值是否等於列表中的任一個值, 例如: • 可改為:
驗証規則的格式 • Like 運算元讓我們可以用萬用字元來驗証輸入的文字。Access 提供 3 種萬用字元: • * 表示任何長度的字串, 包括空字串在內 • ? 表示一個中文字或英文字母 • # 表示一個數字字元
驗証規則的格式 • 例如:
驗證規則的格式 • 若要判斷欄位值是否為 Null, 可直接以常數值 Null 來比較, 例如我們的條件是數量欄 "必須大於 0" 或 "沒有輸入資料", 就可以使用下面的規則:
管制整筆記錄的正確性 • 前面介紹的是針對『個別』的欄位來做正確性檢查, Access 也允許我們針對整筆記錄來做正確性管制。在資料表的設計視窗中, 我們可以按下工具列的屬性鈕來開啟資料表屬性視窗:
管制整筆記錄的正確性 • 不過要注意, 這裡輸入的驗証規則必須是一個完整的運算式, 而且運算結果必須為 "真" 或 "假", 例如我們要求任何一筆訂單如果尚未付款, 就必須在備註欄中填入原因, 那麼就可輸入以下的運算式:
設定『查閱』頁次的屬性 • 『顯示控制項』屬性 • 『資料來源類型』及『資料來源』屬性 • 『結合欄位』屬性 • 『欄數』屬性 • 『欄名』屬性 • 『欄寬』屬性 • 清單允許列數和清單寬度 • 限制在清單內