Free Newsletters:
DatabaseJournal  
DBANews
Database Journal
Search Database Journal:
 
HOME News MS SQL Oracle DB2 Access MySQL PostgreSQL PHP SQL Etc Scripts Links Discussion
internet.com

» HOME
» NEWS
» FEATURES
» SERIES
MS SQL
Oracle
MS Access
MySQL
DB2
» RESOURCES
Products
Scripts
Links
» DISCUSSION
» TECH JOBS

Marketplace Partners
Be a Marketplace Partner




internet.commerce
Be a Commerce Partner
KVM over IP
Laptop Batteries
Server Racks
Web Design
Compare Prices
Rackmount LCD Monitor
Compare Prices
Hurricane Shutters
Prepaid Phone Card
Car Donations
Promotional Golf
Home Improvement
Dental Insurance
Computer Hardware




MySpace Joins eBay, Yahoo in Open Profile Push

News Corp. Unit Under Fire for Ties to Hacker

Are Non-PC Devices Hurting 'Net Innovation?

internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Linked Data Planet Conference & Expo

CA ERwin® Data Modeler Proven database design and modeling. Efficiently analyze, design and deploy effective database solutions. Whitepaper: Manage SQL Server Deployments
Try it free: CA ERwin® Data Modeler


Solaris 8 Migration Assistant
Rapidly move your Solaris 8 application environments to new systems running Solaris 10 with the Solaris 8 Migration Assistant. Reduce migration risk while taking advantage of increased performance, reliability and security of the latest SPARC hardware platforms and Solaris 10 OS. »

 
Sun Eco Innovation: Good for Business, Good for the Environment
A complete solution to help you optimize and refresh your datacenter while properly recycling equipment and eliminating eWaste, including money-saving promotions to lower hardware acquisition costs. »

 
Sun Eco Innovation: Power Calculators
Power consumption has increasingly become a priority in customer's minds when purchasing new systems or storage. Sun's Power Calculators provide data on power consumption of Sun products allowing IT managers to better plan the power requirements in the datacenter to achieve better energy and cost savings. »

 
Optimize the Web Tier: Consolidate to Get More Performance in Less Space and Lower Power Consumption
Expansion in the Web tier is generally accomplished by adding more servers whenever extra capacity is needed. As the pool of servers grows larger, however, the complexity of the environment can grow exponentially. »

Production Manager (hands on)
Aquent
US-MA-Cambridge

Justtechjobs.com Post A Job | Post A Resume
MS Access
June 5, 2007
Designing Forms for Efficient and Accurate Data Entry


Microsoft® Office Access 2007 Forms, Reports, and Queries
Paul McFedries
May 2007, Paperback, 408 pages
ISBN10: 0789736691
Publisher: Pearson Education
Buy this book

This excerpt from "Microsoft Office Access 2007 Forms, Reports, and Queries" introduces several techniques that serve to either make data entry less of a chore, or to reduce or eliminate data entry errors (or both).

Chapter 3: Designing Forms for Efficient and Accurate Data Entry

In this chapter

  • Preventing Errors by Validating Data
  • Using Controls to Limit Data Entry Choices
  • Case Study: Using an Option Group to Select the Shipper
  • Entering Data with ActiveX Controls
  • Collecting Form Data via Email
  • From Here

Data entry is one of those tasks that I describe as "dangerous" because it's a chore that's both tedious and important. It's tedious because entering dozens or hundreds of records is no one's idea of fun. It's important because the data must be entered accurately; otherwise, any analysis of the data becomes at best misleading and at worst just plain wrong. The danger, then, lies in the fact that data entry is prone to errors but can't afford to have any.

As a forms designer, you can help to reduce this danger by setting up your forms so that data entry is both as efficient as possible and as accurate as possible. In some cases you can achieve both goals with a single technique. For example, asking someone to type a customer name manually is both slow and prone to misspellings. However, suppose you already have a Customers table with a CustomerName field. If you relate the current table with the Customers table (using, say, a common CustomerID field), Access adds the CustomerName field to the current form using a drop-down list that contains all the customers. This makes data entry more efficient (the users just select a name from the list instead of typing it) and more accurate (the users can't misspell the customer name).

This chapter introduces you to several techniques that serve to either make data entry less of a chore, or to reduce or eliminate data entry errors (or both).

Preventing Errors by Validating Data

If, as the cooks say, a recipe is only as good as its ingredients, a database is only as good as its data. Viewing, summarizing, and analyzing the data are meaningless if the table you're working with contains erroneous or improper data. For basic data errors (for example, entering the wrong date or transposing a number's digits), there's not a lot you can do other than exhorting yourself or the people who use your forms to enter data carefully. Fortunately, you have a bit more control when it comes to preventing improper data entry. By "improper," I mean data that falls in either of the following categories:

  • Data that is the wrong type. For example, entering a text string in a cell that requires a number.

  • Data that falls outside an allowable range. For example, entering 200 in a cell that requires a number between 1 and 100.


Note - To stress the importance of data entry, consider the story told to me by computer book author Greg Perry. Greg used to work for a large Fortune 500 company, and he says that the company made its data entry clerks enter all data twice: One clerk would enter the data in a file and then, when finished, another clerk would enter the same data. Then a comparison would be run to find exceptions where data didn't match, and that would then be reconciled. The lesson, he says, is that to the company, accuracy was far less costly than paying its employees to do the same job twice.


The next few sections show you several techniques that can help you reduce these types of errors.

Helping Users with Text Prompts

You can prevent improper entries to a certain extent by adding text that provides details on what is allowable inside a particular cell. You have two choices:

  • Add status bar text. This is a string that appears in the Access status bar when users enter the field. You specify this text by opening the field's property sheet, displaying the Other tab, and then entering the string in the Status Bar Text property.

  • Add a label. Place a Label control near the field and use it to enter text that describes the field's data requirements or shortcut keys. For example, if the field requires a date, the label might say Press Ctrl+; to enter today's date.

For example, Figure 3.1 shows the Mortgage Calculator form. Notice the labels added beside the Interest Rate and Term text boxes that specify to the users that they must enter the interest rate per annum and the term in years. Note, too, the status bar text that appears when the users enter the Interest Rate field.

Figure 3.1
Use form labels and status bar text to give the users text prompts about the data they must enter.

Preventing Errors with Data Validation Expressions

The problem with text prompts is they require other people to both read and act on the text. The better solution for preventing data entry errors is the Access data validation feature. With data validation, you create rules that specify exactly what kind of data can be entered and in what range that data can fall. You can also specify pop-up input messages that appear when a cell is selected, as well as error messages that appear when data is entered improperly.

Follow these steps to define the settings for a data validation rule:

  1. Display the property sheet of the field to which you want to apply the data validation rule.

  2. Click the Data tab.

  3. Click inside the Validation Rule property.

  4. Enter a formula that specifies the validation criteria. You can either enter the formula directly into the property box, or you can click the ellipsis (...) button and enter the formula using the Expression Builder.

  5. If you want a dialog box to appear when the users enter invalid data, click inside the Validation Text property and then specify the message that appears.

  6. Close the property sheet to apply the data validation rule.

For example, suppose you want the users to enter an interest rate. This quantity should be positive, of course, but it should also be less than 1. (That is, you want users to enter 6% as 0.06 instead of 6.) Figure 3.2 shows the property sheet for a field named InterestRate that meets these criteria by defining the following expression in the Validation Rule property:

>0 And <1

Figure 3.2
Use the Validation Rule property to enter a data validation expression for a field.

Figure 3.2 also shows a string in the Validation Text property. If the users enter invalid data (that is, any value for which the Validation Rule expression returns False), the Validation Text appears in a dialog box, as shown in Figure 3.3.

Figure 3.3
If the users enter invalid data in the field, Access displays a dialog box such as this one, which uses the string entered into the Validation Text property.

Using Input Masks for Consistent and Accurate Data Entry

One of the major headaches that database administrators have to deal with is data entered in an inconsistent way. For example, consider the following phone numbers:

(123)555-6783
(123) 555-6783
(123)5556783
123555-6783
1235556783

These sorts of inconsistencies might appear trivial, but they can cause all kinds of problems, from other users misreading the data to improper sorting to difficulties analyzing or querying the data. And it isn't just phone numbers that cause these kinds of problems. You also see them with Social Security numbers, ZIP codes, dates, times, account numbers, and more.

One way to avoid such inconsistencies is to add a label or status bar message that specifies the correct format to use. As with data validation, however, these prompts are not guaranteed to work every time (or even most of the time).

A better solution is to apply an input mask to the field. An input mask is a kind of template that shows the users how to enter the data and prevents them from entering incorrect characters (such as a letter where a number is required). For example, here's an input mask for a phone number:

(___)___-____

Each underscore (_) acts as a placeholder for (in this case) a digit, and the parentheses and dash appear automatically as the user enters the number.

Using the Input Mask Wizard

The easiest way to create an input mask is to use the Input Mask Wizard. Here are the steps to follow:

  1. Display the property sheet of the field to which you want to apply the input data.

  2. Click the Data tab.

  3. Click inside the Input Mask property.

  4. Click the ellipsis (...) button to start the Input Mask Wizard, shown in Figure 3.4.

    Figure 3.4
    Use the Input Mask Wizard to choose a predefined input mask or to create your own input mask.

  5. In the Input Mask list, click the input mask you want (or that's close to what you want) and then click Next.

  6. Use the Input Mask box to make changes to the mask (see "Creating a Custom Input Mask Expression," next, for the specifics of which symbols to use); use the Placeholder Character list to choose the character you want to appear in the input mask as a placeholder; click Next.

  7. Click the option that matches how you want the field data stored in the table (click Next after you've made your choice):

    • With the Symbols in the Mask—Click this option if you want the extra symbols (such as the parentheses and dash in a phone number mask) stored along with the data.

    • Without the Symbols in the Mask—Click this option to store only the data.

  8. Click Finish.

Creating a Custom Input Mask Expression

If your data doesn't fit any of the predefined input masks, you need to create a custom mask that suits your needs. You do this by creating an expression that consists of three kinds of characters:

  • Data placeholders—These characters are replaced by the actual data typed by the users. The different placeholders specify the type of character the users must enter (such as a digit or letter) and whether the character is optional or required.

  • Modifiers—These characters aren't displayed in the mask; instead, they're used to modify the mask in some way (such as converting all the entered characters to lowercase).

  • Literals—These extra characters appear in the mask the same as you enter them in the expression. For example, you might use parentheses as literals to surround the area code portion of a phone number.

Table 3.1 lists the data placeholders you can use to build your input mask expressions.

Table 3.1 Data Placeholders to Use for Custom Input Masks

Placeholder

Data Type

Description

0

Digit (0–3)

The character is required; the users are not allowed

 

 

to include a plus sign (+) or minus sign (–).

3

Digit or space

The character is optional; the users are not allowed to include a plus sign (+) or minus sign (–).

#

Digit or space

The character is optional; the users are allowed to

 

 

include a plus sign (+) or minus sign (–).

L

Letter (az or AZ)

The character is required.

?

Letter (az or AZ)

The character is optional.

a

Letter or digit

The character is required.

A

Letter or digit

The character is optional.

&

Any character or space

The character is required.

C

Any character or space

The character is optional.


Table 3.2 lists the modifiers and literals you can use to build your input mask expressions.

Table 3.2 Modifiers and Literals to Use for Custom Input Masks

Modifier

Description

\

Displays the following character as a literal; for example, \( is displayed as (.

"text"

Displays the string text as a literal; for example, "MB" is displayed as MB.

.

Decimal separator.

,

Thousands separator.

: ; - /

Date and time separators.

<

Displays all the following letters as lowercase.

>

Displays all the following letters as uppercase.

!

Displays the input mask from right to left when you have optional data placeholders on the left.

Password

Displays the characters as asterisks so that other people can't read the data.


You can enter your input mask expressions directly into the Input Mask property, or you can modify a predefined input mask using the Input Mask Wizard.

For example, suppose your company uses account numbers that consist of four uppercase letters and four digits, with a dash (-) in between. Here's an input mask suitable for entering such numbers:

>aaaa\-0000

Note, too, that input masks can contain up to three sections separated by semicolons (;):

first;second;third

    first—This section holds the input mask expression.

    second—This optional section specifies whether Access stores the literals in the table when you enter data. Use 0 to include the literals; use 1 (or nothing) to store only the data.

    third—This optional section specifies the placeholder character. The default is the underscore (_).

For example, here's an input mask for a ZIP code that stores the dash separator and displays dots (.) as placeholders:

00000\-3333;0;.

Go to page: 1  2  3  4  Next  

Tools:
Add databasejournal.com to your favorites
Add databasejournal.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

MS Access Archives

Five Trends for Application Development. Download Your Complimentary Report. Exclusive. Act Now.
IT in 2018: Download Free eBook By The Author Of "Does IT Matter?" Simple Registration Is Required.
HP eBook: Using Business Service Management (BSM) to Manage Your Business Applications
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers. Sponsored by HP, Citrix, and Intel.
Download: Solaris 8 Migration Assistant. Run Solaris 8 apps on the latest SPARC systems and Solaris 10.


Latest Forum Threads
MS Access Forum
Topic By Replies Updated
Export a report into excel Irina_5220 4 May 9th, 01:50 PM
Table Property Question barlowr70 0 May 6th, 10:51 AM
Compile MS Access Database samson 1 May 1st, 03:28 AM
How to connect MS-Access with c++ rockys111 0 April 30th, 01:36 AM







JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES