使用輸入遮罩控制資料輸入格式
套用到
您可以提供包含資料的欄位輸入遮罩,且資料永遠以特定方式格式化,幫助使用者正確地將資料輸入到 Access 桌面資料庫。 例如,您可以使用輸入遮罩,以確定使用者在電話號碼欄位輸入正確格式的電話號碼。
輸入遮罩只影響 Access 是否接受資料——遮罩不會改變資料的儲存方式,而儲存方式則由欄位的資料型態及其他屬性控制。 如需關於 Access 中的資料儲存方式的詳細資訊,請參閱資料類型與欄位屬性簡介。
本文內容
關於輸入遮罩
輸入遮罩是一連串的字元,會指出有效輸入值的格式。 您可以在資料表欄位、查詢欄位,以及表單和報表上的控制項使用輸入遮罩。 輸入遮罩會儲存為物件屬性。
當輸入值格式必須保持一致時,才會使用輸入遮罩。 例如,您可能會使用欄位的輸入遮罩來儲存電話號碼,指定 Access 需要十位數的輸入。 如果有人輸入沒有區碼的電話號碼,Access 在加入區碼資料前不會寫入資料。
輸入遮罩的三大部分
輸入遮罩是由一個必要部分和兩個選用部分所組成,各個部分都以分號隔開。 各部分的用途如下:
- 第一部分為必要項目。 必要項目包含遮罩字元或字串 (一系列字元),以及定位符號和常值資料,例如括號、句號和連字號。
- 第二部分為選用項目,指的是內嵌遮罩字元及其在欄位內的儲存方式。 如果第二部分設定為 0,字元會與資料一起儲存;如果設為 1,則只會顯示字元,而不會儲存字元。 將第二部分設為 1 可以節省資料庫的儲存空間。
- 輸入遮罩的第三個部分也是選用項目,此項目代表用來做為定位符號的單一字元或空格。 依預設,Access 會使用底線 (_)。 如果您要使用其他字元,請將其輸入遮罩的第三部分。
例如,這是美國格式電話號碼的輸入遮罩: (999) 000-000;0;-:
- 該遮罩使用兩個定位符號字元,9 及 0。 9 代表選用數字 (可選擇是否要輸入區碼),而每個 0 則代表一個必要數字。
- 輸入遮罩第二部分中的 0 表示遮罩字元將與資料一起儲存。
- 輸入遮罩的第三部分規定,應使用連字號 (-) ,取代底線 (_) 作為佔位字元。
定義輸入遮罩的字元
下表列出輸入遮罩的定位符號及常值字元,並說明輸入遮罩如何控制資料輸入:
| 字元 | 說明 |
|---|---|
| 0 | 使用者必須輸入一個數字 (0 到 9)。 |
| 9 | 使用者可以輸入一個數字 (0 到 9)。 |
| # | 使用者可以輸入一個數字、空格、加號或減號。 如果略過,Access 會輸入一個空格。 |
| L | 使用者必須輸入一個字母。 |
| ? | 使用者可以輸入一個字母。 |
| A | 使用者必須輸入一個字母或數字。 |
| a | 使用者可以輸入一個字母或數字。 |
| & | 使用者必須輸入一個字元或空格。 |
| C | 使用者可以輸入字元或空格。 |
| . , : ; - / | 小數點及千分位定位符號、日期及時間分隔符號。 你選擇的字元取決於你的 MicrosoftWindows 區域設定。 |
| > | 將符號之後的所有字元都轉換為大寫。 |
| < | 將符號之後的所有字元都轉換為小寫。 |
| ! | 讓輸入遮罩從左至右 (而非從右至左) 填入。 |
| \ | 緊接在後的字元將會如實顯示。 |
| "" | 以雙引號括住的字元將會如實顯示。 |
何時該避免在 Access 中使用輸入遮罩
雖然輸入遮罩很有用,但有些情況不適合使用它們。 如果你遇到以下情況,請不要使用輸入遮罩:
- People 有時需要輸入與面罩不符的資料。 輸入遮罩不允許例外。
- 您計劃在 [日期/時間] 欄位使用 [日期選擇器] 控制項。 輸入遮罩與 [日期選擇器] 控制項不相容。
使用 [輸入遮罩精靈] 新增輸入遮罩到表格欄位
輸入遮罩可與設為 [文字]、[數字] (複製編號除外)、[貨幣] 和 [日期/時間] 資料類型的欄位搭配使用。
注意
如果您在 [日期/時間] 欄位使用輸入遮罩,則該欄位的 [日期選擇器] 控制項就會無法使用。
- 在 [瀏覽窗格] 中,以滑鼠右鍵按一下資料表,然後按一下捷徑功能表上的 [設計檢視]。
- 按一下要新增輸入遮罩的欄位。
- 在 [欄位屬性] 底下的 [一般] 索引標籤上,按一下 [輸入遮罩] 屬性方塊。
- 點擊 建構 按鈕的
,啟動輸入遮罩精靈。 - 在 [輸入遮罩] 清單中,選取您要新增的遮罩類型。
- 按一下 [試試看吧] 並輸入資料,以測試遮罩的顯示方式。
- 若要保留輸入遮罩而不進行任何變更,請按一下 [下一步]。
- 選取儲存資料方式的選項。
- 按一下 [完成],然後儲存您的變更。
將輸入遮罩新增至查詢
- 在 [瀏覽窗格] 中,以滑鼠右鍵按一下要變更的查詢,然後按一下捷徑功能表上的 [設計檢視]。
- 在查詢設計格線中,將指標置於要變更欄位的所屬欄中。
您可以將游標置於該欄位的任一列中。 - 按 F4 開啟該欄位的屬性表。
- 在 [欄位屬性] 底下的 [一般] 索引標籤上,按一下 [輸入遮罩] 屬性方塊。
- 點擊 建構 按鈕的
啟動輸入遮罩精靈,然後依照精靈中的指示操作。
將輸入遮罩新增至表單或報表控制項
- 在 [瀏覽窗格] 中,以滑鼠右鍵按一下要變更的表單或報表,然後按一下捷徑功能表上的 [設計檢視]。
- 以滑鼠右鍵按一下要變更的控制項,然後按一下捷徑功能表中的 [屬性]。
- 按一下 [全部] 索引標籤上的 [輸入遮罩] 屬性方塊。
- 點擊 建構 按鈕的
啟動輸入遮罩精靈,然後依照精靈中的指示操作。
建立自訂輸入遮罩
雖然 [輸入遮罩精靈] 提供的輸入遮罩可滿足大多數常見的格式設定需求,但有時您可能想要自訂更符合您需求的輸入遮罩。 您可以從 [輸入遮罩精靈] 變更預先定義的遮罩,也可以手動變更您要套用遮罩之欄位的輸入遮罩屬性,藉此自訂輸入遮罩。
從 [輸入遮罩精靈] 自訂輸入遮罩
- 在 [設計檢視] 中開啟物件,然後按一下您要新增自訂輸入遮罩的欄位。
- 點擊 建構
啟動輸入遮罩精靈。 - 按一下 [編輯清單]。
隨即會出現 [自訂輸入遮罩精靈] 對話方塊。 - 移至對話方塊中的新記錄,然後在 [描述] 文字方塊中輸入新的描述。
- 使用表格清單中允許的字元,在 [輸入遮罩] 文字方塊中輸入字元和預留位置。
- 按一下 [遮罩類型] 向下箭號並選取合適的遮罩類型。
- 按一下 [關閉]。 新的輸入遮罩便會顯示在清單中。
從欄位內容設定自訂輸入遮罩
- 在 [瀏覽窗格] 中,以滑鼠右鍵按一下物件,然後按一下捷徑功能表上的 [設計檢視]。
- 按一下要建立自訂輸入遮罩的欄位。
- 在 [欄位屬性] 區域中,按一下 [輸入遮罩] 文字方塊,然後輸入您的自訂遮罩。
- 按 CTRL+S 儲存您的變更。
您必須手動輸入 [數字] 和 [貨幣] 欄位的輸入遮罩定義。
輸入遮罩範例
下表中的範例說明部分輸入遮罩的用法。
| 此輸入遮罩 | 提供此類型的值 | 附註 |
|---|---|---|
| (000) 000-0000 | (206) 555-0199 | 在此例中,您必須輸入區碼,因為遮罩的區碼部分 (以括號括住的 000) 使用 0 定位符號。 |
| (999) 000-0000! | (206) 555-0199 ( ) 555-0199 |
在此例中,因為區碼部分使用 9 這個定位符號,所以不一定要輸入區碼。 另外,驚嘆號 (!) 會使遮罩從左至右填入。 |
| (000) AAA-AAAA | (206) 555-TELE | 允許您以字母替代美國電話號碼的最後四位數。 請注意,區碼部分使用 0 定位符號,表示必須輸入區碼。 |
| #999 | -20 2000 |
任何不超過四個字元的正數或負數,且沒有千位數分隔符號或小數點位數。 |
| >L????L?000L0 | GREENGR339M3 五月 R 452B7 |
此為必要 (L) 及選用 (?) 字母與必要數字 (0) 的組合。 大於符號會強制使用者以大寫輸入所有字母。 若要使用此類型的輸入遮罩,您必須將資料表欄位的資料類型設為 [文字] 或 [備忘]。 |
| 00000-9999 | 98115- 98115-3007 |
郵遞區號為必要項目,後加四位部分則為選用項目。 |
| >L<?????????????? | Maria 皮埃爾 |
名字或姓氏的首字母自動變成大寫。 |
| ISBN 0-&&&&&&&&&-0 | ISBN 1-55615-507-7 | 含常值文字的書號,第一及最後一位數為必要項目,其間可輸入字母與字元的任意組合。 |
| >LL00000-0000 | DB51392-0493 | 全部皆為大寫之必要字母與字元的組合。 例如,使用這種類型的輸入遮罩,可協助使用者正確地輸入零件號碼或其他庫存表單。 |
將輸入遮罩用於電子郵件地址
因為電子郵件地址所含的字元數目差異很大,所以輸入遮罩對於確保正確輸入電子郵件地址來說,並不是理想的工具。 建議您改用 [驗證規則] 和 [驗證文字] 屬性。
下表所示的驗證規則確保電子郵件地址輸入時會先輸入一個或多個字元,接著是「@」符號,再是一個或多個字元,最後是句點,最後是一個或多個字元。 例如, tom@example.com 會被允許,但 tom@example、com 或 tom@example 則不行。 如果你輸入的電子郵件地址不符合驗證規則,Access 不會接受該輸入,並會在 驗證文字 屬性中顯示該訊息。 如果 [驗證文字] 屬性方塊中沒有輸入文字,Access 則會顯示一般訊息。
| 屬性 | 設定 |
|---|---|
| 驗證規則 | Is Null Or ((Like "*?@?*.?*") And (Not Like "*[ ,;]*")) |
| 驗證文字 (可選) | 請輸入帶有「@」符號的電子郵件地址,並 (完整網域名稱,例如「frank@contoso.com) 」。 |
如需有關使用驗證規則的詳細資訊,以及逐步執行的程序,請參閱使用驗證規則限制資料輸入。