Training
Certifications
Books
Special Offers
Community




 
Microsoft® Access Version 2002 Step by Step
Author Online Training Solutions, Inc.
Pages 352
Disk 1 Companion CD(s)
Level Beg/Int
Published 06/06/2001
ISBN 9780735612990
Price $29.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 


Chapter 6: Keeping Your Information Accurate continued


Using an Input Mask to Restrict Data

When you use masks in tables or forms, people entering information can see at a glance the format in which they should make entries and how long they should be. You can use the InputMask property to control how data is entered in text, number, date/time, and currency fields. This property has three sections, separated by semi-colons, like the mask for a telephone number shown here:

!\(000") "000\-0000;1;#

The first section contains characters that are used as placeholders for the information to be typed, as well as characters such as parentheses and hyphens. Together, all these characters control the appearance of the entry. The following list explains the purpose of the most common input mask characters:

CharacterDescription
0Required digit (0 through 9).
9Optional digit or space.
#Optional digit or space; blank positions are converted to spaces; plus and minus signs are allowed.
LRequired letter (A through Z).
?Optional letter (A through Z).
ARequired letter or digit.
aOptional letter or digit.
&Required character (any kind) or a space.
COptional character (any kind) or a space.
<All characters that follow are converted to lowercase.
>All characters that follow are converted to uppercase.
!Characters typed into the mask fill it from left to right. You can include the exclamation point anywhere in the input mask.
\Character that follows is displayed as a literal character.
PasswordCreates a password entry box. Any character typed in the box is stored as the character but is displayed as an asterisk (*).

Any characters not included on this list are displayed as literal characters. If you want to use one of the special characters in this list as a literal character, precede it with the \ character.

The second and third sections of the input mask are optional. Including a 1 or leaving nothing in the second section tells Access to store only the characters entered; including a 0 tells it to store both the characters entered and the mask characters. The character in the third section is displayed in a new record as the placeholder for the characters to be typed. This placeholder defaults to an underscore if the section is omitted.

The input mask !\(000") "000\-0000;1;# creates this display in a field in both a table and a form:

(###) ###-####

In this case, you are restricting the entry to ten digits—no more and no less. Access stores just the digits entered, not the parentheses, space, and dash (though those characters could be displayed in your table, form, or report if you set the correct format property).

In this exercise, you will use the Input Mask Wizard to apply a predefined telephone input mask to a text field, forcing entered numbers into the (206) 555-0001 format. You will then create a custom mask to force the first letter of an entry to be upper-case (a capital letter). The working folder for this exercise is SBS\Access\Accurate\InputMask. Follow these steps:

  1. Open the Field Test database located in the working folder.
  2. Open the Field Property Test table in Design view.
  3. Type PhoneField in the first blank Field Name cell, and leave the data type set to Text.
  4. Click the row selector to select the row, and then drag the new field to the top of the field list so that it will appear at the left end of the table.
  5. Save the table design, and with PhoneField still selected, click Input Mask in the Field Properties section.
  6. Click the button to the right of the cell to start the Input Mask Wizard and display the first page of the wizard, shown here:
  7. Click to view graphic
    Click to view graphic

    You can create an input mask by hand for text, number, date, or currency fields, or you can use this wizard to apply one of several standard masks for text and date fields.

  8. With Phone Number selected in the Input Mask list, click Next.
  9. The second page of the wizard displays the input mask and gives you the opportunity to change the placeholder character that will indicate what to type. The exclamation point causes Access to fill the mask from left to right with whatever is typed. The parentheses and hyphen are characters that Access will insert in the specified places. The 9s represent optional digits, and the 0s represent required digits, so you can enter a telephone number with or without an area code.


    TIP:
    Because Access fills the mask from left to right, you would have to press the Right Arrow key to move the insertion point past the first three placeholders to enter a telephone number without an area code.

  10. Change 999 to 000 to require an area code, and then change the placeholder character to #.
  11. The dialog box now looks like this:

    Click to view graphic
    Click to view graphic

  12. Click Next.
  13. On the third page of the wizard, you specify whether you want to store the symbols with the data. If you store them, the data will always be displayed in tables, forms, and reports in this format. However, the symbols take up space, meaning that your database will be larger.

  14. Leave the default selection—to store data without the symbols—and then click Finish.
  15. Access closes the wizard and displays the edited mask as the Input Mask property, as shown on the next page.

    Click to view graphic
    Click to view graphic

  16. Press Enter to accept the mask.
  17. Access changes the format of the mask to !\(000") "000\- 0000;;#. Notice the two semicolons that separate the mask into its three sections. Since you told Access to store data without the symbols, nothing is displayed in the second section of the mask.

  18. Save your changes, and click the View button to return to Datasheet view.
  19. Press the Down Arrow key to move to the new record, and type a series of at least ten digits and some letters to see how the mask works.
  20. Any letters you type are ignored. The first ten digits are formatted as a telephone number. If you type more than ten digits, they are also ignored. If you type fewer than ten digits and press Tab or Enter, Access warns you that your entry doesn’t match the input mask.


    TIP:
    An input mask can contain more than just the placeholders for the data to be entered. If, for example, you type The number is in front of the telephone number in the Input Mask property, the default entry for the field is The number is (###) ###-####. Then if you place the insertion point to the left of The and start typing numbers, the numbers replace the # placeholders, not the text. The Field Size setting is not applied to the characters in the mask, so if this setting is 15, the entry is not truncated even though the number of displayed characters (including spaces) is 28.

  21. Return to Design view, and add a new field below BooleanField. Name it LastName. Leave the Data Type setting as the default Text.
  22. Select the new field, click Input Mask, type >L<?????????????????? (18 question marks), and press Enter.
  23. The > forces all following text to be uppercase. The L requires a letter. The < forces all following text to be lowercase. Each ? allows any letter or no letter, and there is one fewer question mark than the maximum number of letters you want to allow in the field (19, including the leading capital letter). The Field Size setting must be greater than this maximum.

  24. Save your changes, return to Datasheet view, type smith in the LastName field of one of the records, and press Tab. Try entering SMITH, and then McDonald.
  25. As you can see, this type of mask has its limitations. But it can be useful in many situations.

  26. Close the table, and then close the database.


Previous   |  Table of Contents   |   Next




Top of Page


Last Updated: Saturday, July 7, 2001