You are on page 1of 43

Events Fundamentals Introduction An event is the result of initiating an action on an object.

The action could be as simple as positioning the mouse on an object even without clicking. The action could consist of (left) clicking, right-clicking, dragging (with the mouse, or dragging with the mouse while holding a key on the keyboard), double-clicking, rolling the wheel (on a mouse), typing (with the keyboard), pressing a key, scrolling (a scroll bar), etc

Sending a Message When an action is performed on an object, the object must send a message to the operating system (OS), letting the OS know what happened. The OS must then decide what to do, whether to respond to the message or send the message to another object. Obviously, for a message to accomplish its purpose, it must carry some information. Because there are different types of objects and there are various types of actions that can be performed on them, there are also various types of messages. Although events primarily have to do with computer programming, in our lessons, we will know write code. Instead, we will use other friendly means that Microsoft Access provides to deal with events. To access the events of an object, display the form or report in Design View. In the Property Sheet, click the Event tab. This would display the names of the events associated with whatever is selected on the form or report:

The names of most events start with On, which means, "at the time this is done". Because most, if not all, events have to do with time, an event is said to be fired. That is, the object fires an event at the time something happens. When an event is fired, if necessary, it gathers the necessary message to be transmitted where appropriate. Again, remember that most events have to do with time (they are occurrences). In some cases, something must be done before the actual action is applied. For this reason, the names of some events start with Before. When something must be taken care of after the action has applied, the event that must be used to implement the desired behavior starts with After. Events Categories Introduction Some events are general and they are shared by most objects. For example, almost all objects can be clicked. Some events are based on a category objects, such as only objects that can receive text. Some other events are very restricted because their object needs particular functionality. As mentioned already, some events are shared by almost all objects. Regular Click Events

Probably the most common event fires when an object is clicked. The event is called On Click. This event doesn't carry any information other than letting the target know that the object has been clicked. This event doesn't identify what mouse button was used or anything else. Therefore, use this event for a normal click action. Another common event of Windows controls is fired when an object is double-clicked. This event is represented as On Dbl Click. Focus-Based Events Some controls must be clicked before being used. A user can also press Tab a few times from one or other controls to move focus on a particular control. In both cases, when a control receives focus, it fires an event named On Got Focus:

Text-based controls are controls that a user can click to type text. Those controls are the text box and the combo box. When such a control is clicked, whether it already contains text or not, it fires an event named On Enter. Like On Got Focus, the On Enter event indicates that the control has received focus:

After using a control, a user can press Tab. In this case, the focus would move from the current object to the next control in the tab sequence. The control that looses focus fires an event named On Lost Focus. If the control is text-based, the control fires the On Exit event. Mouse Events The mouse and the keyboard are the most regularly used objects. In fact, some applications can be completely used with the mouse only. This makes this object particularly important. In Microsoft Access, the mouse is responsible for at least three events:

If the user positions the mouse on top of a control but doesn't click, the control fires an event named On Mouse Move. Remember that this event fires when the mouse passes over an object, whether the user is doing anything on the object or not.

When the user positions the mouse on an object and presses a (mouse button), the object fires the On Mouse Down. To make its action effective, the message of this event holds the following pieces of information:

Button: This is a natural number that specifies the button that was clicked Shift: This is a natural number that specifies whether the user was holding a special key (Ctrl, Alt, or Shift) when the mouse button was pressed X: This a decimal number (Single type) that represents the left coordinate of the mouse cursor with regards to the container, which can be a form header, a report header, a detail section, a report footer, a form footer, or any object that can hold a control Y: This is a decimal number that is the vertical coordinate of the cursor from the top border to the current area where the mouse landed

If a user had pressed a mouse button, when she releases the (mouse) button, the control fires an event named On Mouse Up. The message of this event carries the same types of information as the On Mouse Down event. Keyboard Events There are various ways a user uses the keyboard. For example, a user can press a key on a control:

The user can press Tab to move focus from one control to another. A user can also click a text-based control and start typing. Either way when the user presses a key, the control that has focus fires an On Key Down event. The message of this event carries two pieces of information:

KeyCode: This is a natural number that represents the integral (ASCII) value of the key that was pressed Shift: This is a natural number that specifies whether the user was holding a special key (Ctrl, Alt, or Shift) when the actual key pressed

After pressing the key, when the user releases or depresses it, the control fires an event named On Key Up. The message of this event carries the same types of information as the On Key Down event.

When the user presses a key, if you are interested only on the key that was pressed and not on any combination of keys, use the On Key Press event. The message of this event carries only one piece of information, which is the ASCII code of the key. Control-Based Events Form Events

To use a form, the user muse open it, either from the Navigation Pane or from another object you provide them. When the form is being opened, it fires an event named On Open. As the form is opening, it must occupy memory. As this is happening, the form fires an event named On Load. To make itself known to the operating system and to other applications on the same computer, the form must draw its border. When this is being done, the form fires the On Resize event.

After the form has had the size it needs, the operating system must activate it. If the form is being opened as the first object, it gets positioned in the interface body of Microsoft Access. If the form was already opened and there are other forms (or reports and/or tables), if the user wants to bring it to the front, she must click either its title bar or an area of the form. When this is done, the operating system must paint its title bar with a bright color. Either case, when a form comes to the front of other windows, it fires an event named On Activate. Once a form has been loaded is currently the active form, the user can use it. After using the form the user can close (the user can either use the system close button or you must provide other means of closing the form). As this starts, the form must lose focus. If the form was the only object opened in Microsoft Access, the body of the application is emptied. If there are other objects, the form would be closed and another object would become active. As this is done, the form fires the On Deactivate event. When the form is being closed, it must be removed from memory to release the resources it was using (so that those resources can be used by other applications). While this is being done, the form fires the On Unload event. Once the form has been removed from memory, it (the form) fires an event called On Close. Text Box Events As you know already, to use a text box or a combo box, the user can click the control and start typing. If the control already contained some text, the user can edit it using the Space, the Backspace, the Delete, and the other letter keys. When the text is being entered or edited, the control fires the On Change event. Combo Box Events A combo box is a control that holds a list of items. To use it, the user can click the arrow of the control to display the list and select an item. Some versions of the combo box allow a user to click the text box part of the control and start typing. The control would then try to find an item that matches what the user is typing or has typed. Sometimes, after the user has finished typing and press Enter or Tab to move focus, Microsoft Access (the database engine) may not find a match and would display an error. This means that the text the user typed did not match any of the items of the combo box. In this case, the control would fire an event named On Not List. You can use this event to friendly display a message to the user and to take an appropriate action. Web Browser Events The web browser has many events appropriate for its functionality:

We already know that you can submit the path of a file or a URL to it. When a file path or a URL is given to a web browser, before it processes it, the control fires an event named On Before Navigate. If there is no problem in this event, the control shows the file or the web page. When the control has finished displaying the document, the web browser fires the On Document Complete event. If there is a change on the document, the control fires an On Progress Change event. When a web browser has receives a file path or a URL, it makes an attempt to show that file or the web page. If it encounters a problem, it fires an On Navigation Error event. At any time, and if you allow it, the user can change the document the control is displaying. When a new document must be displayed, the control fires an On Updated event. Fields and Record-Based Events Fields-Related Events Because Microsoft Access is a database application, it provides some event that are particular to records and their fields on a form or report. To create a new record, the user must move to an empty record on a form. The user can click a control such as a text box and start typing. When this happens, the form fires an event named Before Insert. Records-Related Events

If a record exists already, the user can open or access, click one of its fields and start typing or editing. When at least one value in the record has been changed, the form fires the On Dirty event. After a record has been changed and submitted to the database, the form would fire an event named Before Update. When a new record has been created, it must be submited to the database. When this is done, the form fires an After Insert event. After an existing record has been modified, the change must be submitted to the database. In this case, the form fires the After Update event. If a table contains more than one record, after the user has opened its corresponding form, the user can navigate from one record to another. When the user moves from record to record, the form fires an event named On Current. Record-Deletion Events We know that, to delete a record, a user can click the record and press Delete. This would display a warning message. Before that message comes up, the form fires the Before Del Confirm event. After the user has clicked one of the buttons on the message box, the form fires an After Del Confirm event. If the user decides to delete a record, before the record is actually deleted, the form fired an On Delete event. Macros Fundamentals Introduction A macro is an (automatic) action that must be performed on an object of a database. An example would consist of saving something when a key is pressed on the keyboard. Another example would consist of printing something when an object is clicked. Microsoft Access provides an easy and visual mechanism to create and manage macros. Macros in Microsoft Access have nothing to do with macros in other Microsoft Office applications. In fact, it should be fair to state that they are completely different. For example, macros in Microsoft Excel and Microsoft Word directly lead to actual Visual Basic programming. Macros in Microsoft Access don't write real (VBA) code: they are actions you create and the database engine executes them behind the scenes at the right time. If you want, you can convert Microsoft Access to VBA but then, they become code and not real macros anymore. The Macros Windows To create a macro in Microsoft Access, you can use an intuitive dialog box that allows you to select the action to be performed and the options the action needs. In reality, when you

create a macro, Microsoft Access creates a type of script that contains names, expressions, and operations for the action, sparing the details. Still, if you know what is necessary for the macro, you can "manually" create it. To create a macro, on the Ribbon, click Create. In the Marros & Code section, click the

Macro button

. Two windows would display and they are separated by a split bar:

To give more room to one of the window, position the mouse between them, click and drag in the desired direction. The left window presents a tab or a title bar labeled Macro1. By default, that window displays a combo box. The right window displays buttons with +. This means that they are nodes. To expand a node, click its + button. When you do, the node would display its items. The Program Flow node allows you to create a condition:

The Actions node holds most of the actions you will create for your macros. If if expand it, you will see that it organizes its actions in categories, each represented by a node:

To access the actual action you want, expand its node. This would display the actions in that category:

Creating a Macro To create a macro from the left window, click the arrow of the combo box to display the avilable actions:

If you see the action you want, you can click it. The left window would display the objects (controls) needed for the options of the action you selected. The objects in that window depend on the action you selected.

To create an action using the right window, expand the node(s). Many names of actions are explicit or can be infered logically. Otherwise, you can click an action. The bottom section would show a description of the action:

If you see the action you want, click and drag it to the left window. In both cases, if you selected an action you don't want anymore, you can click the Delete button . The Actions of a Macro To actions its action(s), a macro may need some additional information. This information is referred to as the argument of a macro. The argument can be made of one or more values. The argument(s) depend(s) on the (type of) macro. Some macros take 0 argument while some others take 1, 2 or more arguments. If you select an action that doesn't take an argument, its name would display in the top section and nothing else:

If you select an action that needs one argument, its name would display followed by a box for the corresponding argument:

If you select an action that needs more than one argument, it would appear, followed by a box for each argument:

An argument is said to be required if it must always be provided, otherwise the action cannot be performed. If you select a macro that takes a required argument, an empty text field would appear and you must type the necessary values:

An argument is referred to as optional if it can be omitted, in which case the macro would use a default value. Normally, when you are creating a macro, its corresponding box(es) would display the default value(s). If you select an action that takes one argument and the argument is optional, its corresponding arguments fields would display the default value:

When an action takes more than one argument, some arguments can be required while some others are optional. The person (Microsoft) who created the macro also decided what arguments would be required and what arguments would be optional. The macro creator also decided about the order of the arguments, which one(s) would appear first and which one(s) would appear last. If you select a macro that takes more than one argument that are a combination of required and optional arguments, for each argument that is optional, the default value would appear in its placeholder of its corresponding boxes. Using a Macro After creating a macro, you can use it. This is usually done by assigning it to an event of a form, a report or a control. For example, you can first create a button that would be used to access a section of a page break. To assign a macro to an object, access the Property Sheet for the object and access the Event or the All tab. You can type the name of the macro in the event's field:

Instead of first creating a macro before assigning it to command button, as another technique, in the Design View of the form, you can right-click the object and click Build Events. In the Choose Builder dialog box, you can click Macro Builder and click OK. The new macro would be automatically assigned to the control. In Lesson 15, we saw how to create a page break. To implement it in the Action combo box, select GoToPage. In the Page Number box, enter the desired number of the section, and close the macro. You would be asked to save it. Practical Learning: Using a Macro 1. Start Microsoft Access 2. Open the Bethesda Car Rental1 database from Lesson 15 3. In the Navigation Pane, under Forms, right-click Customers3 and click Design View 4. On the Ribbon, click Create 5. In the Macros & Code section, click Macro 6. In the Macro1 window, click the arrow of the combo box and select GoToPage

7. In the Page Number text box, type 1

8. Click the Close button to close the macro window 9. When asked whether you want to save, click Yes 10. Set the name to mcrPage1 and click OK 11. To create another macro, in the bottom section of the form, right-click the Personal Information button and click Build Events... 12. In the Choose Builder dialog box, click Macro Builder

13. Click OK 14. In the Action combo box, select GoToPage 15. In the Page Number, type 2 16. Close the macro window 17. When asked whether you want to save, click Yes 18. On the Ribbon, click Create 19. In the Macros & Code section, click Macro 20. In the right window, click the + button of Actions to expand it 21. Double-click Database Objects to expand it 22. Drag GoToPage from the right to the left window 23. In the Page Number, type 3 24. Close the macro window 25. When asked whether you want to save, click Yes

26. Set the name to mcrPage3 and press Enter 27. In the bottom section of the form, double-click the Contact button 28. On the Property Sheet, click Event 29. Click On Click, then click the arrow of its combo box and select mcrPage1 30. In the bottom section of the form, click Comments 31. In the Event tab of the Property Sheet, click On Click, then click the arrow of its combo box and select mcrPage3 32. Close the form 33. When asked whether you want to save the form, click Yes 34. In the Navigation Page, under Forms, double-click Customers3 to open it in Form View

35. Click the Personal Information button to test the functionality

36. Click the Comments button

37. Close the form 38. Close Microsoft Office Access 2010

Introduction to Built-In Functions Character Retrieval In order to create expressions that complete a database as we saw in previous lessons, you can use various functions available from Microsoft Access. These are referred to as built-in functions. The Chr() function is used to retrieve a character based on an ASCII character number passed to the function. It could be used to convert a number to a character. It could also be used to break a line in a long expression. The syntax of this function is:
Chr(Number)

Based on the table of ASCII characters, a call as Chr(65) would produce the letter A. Not all ASCII characters produce a known letter. For example, when Chr(10) is used in a string, it creates a "new line". The Input Box Although most of the user's data entry will be performed on fields positioned on a form, you can display a special form to the user and expect a value. This form (actually a dialog box) is called an input box. To support this, Microsoft Access provides a function called InputBox. The basic syntax of the InputBox() function is:
InputBox(prompt)

To use an input box, you can access the event of a control in the Property Sheet and type the code as we will see. As an alternative, after accessing the event of the control, click its ellipsis button, which would display the Expression Builder. In the left list, expand the Functions node and expand Built-In Functions. In the middle list, click InputBox and notice its syntx in the bottom part:

The required argument passed to the InputBox() function is a message that would be displayed to the user. When the input box comes up, a form with a message and a text box would display to the user. To display an input box to the user, place a control, such as a Button, to a form. Then, access the Property Sheet for the control. In the Property Sheet, use an appropriate field, such as On Click from the Events tab, and assign the function to the field. An example would be:
=InputBox("Enter the Radius of the Circle")

When the user clicks the button, an input box would display:

When an input box comes up, it does not display a caption in the title bar. If you want, you can display a title of your choice. To do this, pass a second argument to the InputBox() function. Here is an example:
=InputBox("Enter the Radius of the Circle","Geometric Figures")

This would produce:

When an input box comes up and you present a request, the user may not know what type of value you are expecting. To guide the user, you can provide a sample or default value. This value would display in the text box and it would be selected so the user can type to replace it. To provide a default value to the input box, you can pass a third argument to the InputBox() function. Here is an example:
=InputBox("Enter the Radius of the Circle","Geometric Figures",10.5)

When the input box is called from this function, it would display as follows:

The Message Box Introduction A message box is a Windows (operating system)-created form used to display some information to the user. As opposed to a regular form, the user cannot type anything on the box. There are usually two ways you can use a message box: you can simply display a message to, or request an answer from, the user. Practical Learning: Introducing the Message Box 1. Start Microsoft Access 2. To create a new database, in the File Name, replace the contents of the text box with Exercise1 3. Click Create 4. Close the default table without saving it Creating a Message Box To create a message box, you have various options. To create a message box using a macro, after starting a new macro:

In the left window, click the arrow of the combo box and select MessageBox In the right window, expand Actions and expand User Interface Commands. Drag MessageBox to the left window

To manually create a message box, use a function called MsgBox. If you only want to display a message, the syntax you would use is:
MsgBox(Message To Display)

This function takes only one required argument, the message to display. If you are creating the message box using a macr, type the message in the Message text box. If you are manually typing the code, pass it to the parentheses of the function. The message can be passed between double-quotes. To display a message to the user, place a command-based control, such as a Button, to a form. Then, access the Property Sheet for the control. In the Events tab of the Properties, click On Click and assign the function to the field. An example would be:
=MsgBox("Remember to submit your time sheet")

When the user clicks the button, a message box would come up:

If you want to display the message box on various lines, edit the string to include a call to Chr(10). Here is an example:
MsgBox("Remember to submit your time sheet" + Chr(10) "Only time sheets received on time will be honored", )

This would produce:

The message to display can also come from another control on the form. For example, you can retrieve the value of a control and pass it as argument to the MsgBox() function. The simplest message box displays only a message to the user, with one button marked OK. If you want, you can display more than one button on the message box. To support this, you can bed the following syntax of the MsgBox() function:
MsgBox(Message to display, Options)

The second argument allows you to specify the button(s) to display. To do this, pass a constant integer as argument from the following table: Value 0 1 2 3 4 5 Buttons

Here is an example:
=MsgBox("Do you want to submit your time sheet?",4)

This would produce:

If you provide a value other than those in the list, the message box would display only the OK button. Besides displaying a button, the second argument is also used to display an icon. To get an icon, you add one of the following values: Value Icon Suited when Warning the user of an action performed on 16 the database 32 Asking a question that expects a Yes or No, or a Yes, No, or Cancel answer A critical situation or error has occurred. This icon is appropriate when informing the user of a termination or deniability of an action Informing the user of a non-critical situation

48

64

To use one of these icons, add (a simple addition) its value to that of the desired button or combination of buttons from the previous table. Here is an example created with
=MsgBox("Do you want to submit your time sheet?", 4 + 32)

This is the same as:


=MsgBox("Do you want to submit your time sheet?", 4 + 32)

This would produce:

When the buttons of a message box display, if the message box has more than one button, one of them has a thick border. This button is referred to as the default button. If the user presses Enter, such a button would be activated. Besides selecting the buttons and displaying an icon, the second argument can also be used to specify what button would have focus, that is, which one would have a thick border and would be applied if the user presses Enter. The default button is specified using one of the following values: If the message box has more than one button, the default button would be The first button The second button The third button The fourth button

Value 0 256 512 768

To specify this option, add the number to the second argument. To specify this option, add the number to the second argument. When a message box comes up, it displays a title as Microsoft Office Access. If you want, you can specify your own title. To support this, you can pass a third argument to the MsgBox() function. This third argument is referred to as the caption. The syntax to use is:

MsgBox(Message to display, Options, Caption)

Pass the third argument as a string, for example in double-quotes. Here is an example:
=MsgBox("Do you want to submit your time sheet?", 4 + 64, "Georgetown Cleaning Services")

This would produce:

Because MsgBox is a function, you can retrieve the value it returns and use it as you see fit. The value this function returns corresponds to the button the user clicked on the message box. Depending on the buttons the message box is displaying, after the user has clicked, the MsgBox() function can return one of the following values: If the button(s) displayed was(were) And if the user clicked The MsgBox() function returned 1 1 2 3 4 5 6 7 2 6 7 4 2

Practical Learning: Creating Message Boxes The purpose of this exercise is to let you monitor the sequence of events of a form (whiat evnt comes after which one?) 1. On the Ribbon, click Create

2. 3. 4. 5. 6.

In the Macros & Code section, click Macro Click the arrow of the combo box and select MessageBox In the Message text box, type A record has been accessed In the Type combo box, select Information In the Title text box, type Microsoft Access Form Events

7. Close the macro window 8. When asked whether you want to save, click Yes 9. Set the name to mcrCurrent and press Enter 10. In the same way, create new macros as follows (use the same Type = Information and the same title = Microsoft Access Form Events for all of them):

Message The form is loading to occupy the computer memory. The form is opening. The form is closing. The form is resizing itself to signal its borders. The form has been activated and is now the front runner.

Name mcrLoad mcrOpen mcrClose mcrResize mcrActivate

The form is either being closed or being sent behind another mcrDeactivate window. The form is unloading to be removed from the computer memory. mcrUnload

11. On the Ribbon, click Create 12. In the Forms section, click Form Design 13. Double-click the button at the intersection of the rulers 14. In the Property Sheet, click Event 15. Click On Current and type mcrCurrent 16. Click On Load and type mcrLoad 17. Click On Open and type mcrOpen 18. Click On Close and type mcrClose 19. Click On Resize and type mcrResize 20. Click On Activate and type mcrActivate 21. Click On Deactivate and type mcrDeactivate 22. Click On Unload and type mcrUnload 23. Close the form 24. When asked whether you want to save, click Yes 25. Set the name to FormEvents and click OK 26. In the Navigation Pane, double-click the FormEvents form 27. Watch the sequence of message boxes and click OK on each 28. Close the form Introduction to Data Types Visually Specifying a Data Type A data type represents the kind of information that a particular field should, would, or must hold. Every field in your database objects (tables, forms, and reports) should have the right type and you should select the most appropriate of them. This helps both you and the user who performs data entry. Furthermore, a good design will cause you less headache when creating calculated expressions. Microsoft Access can assist you with allowing or excluding categories of data in database fields. Based on this, you can make sure that the user would not type a contract's date in a project's contact name. To manage different types of information you enter in a database, Microsoft Access helps you organize data by categories. Practical Learning: Introducing Data Entry Assistance 1. To create a new database, in the File Name, replace the contents of the text box with Real Estate1 2. Click Create 3. Double-click ID, type PropertyID, and press Enter 4. Right-click the Table1 tab and click Save 5. Set the name to Properties and click OK 6. Right-click the Properties tab and click Design View Setting the Data Type of a Field

To make your database efficient, in some circumstances, or depending on the project (or customer), you should exercise as much control as possible on data entry. This aspect is mostly controlled at two levels: tables and forms. We know that, when creating a table in Datasheet View, to create a column, you can click Click to Add, select a field type from the list:

Type a name for the column. After creating a column, if you want to change it, on the Ribbon, click Fields. In the Formatting section, click the arrow of the Data Type combo box and select from the list. Besides the Datasheet View, you can use the Design View of a table to specify the type of value that a field can hold. To do this, after specifying the column name, click the arrow of the corresponding box in the Data Type column and select the desired type:

After a field has been configured on a table, when that field is used in a form, it would respect the formatting that was done on the table. Even if you create an unbound field on a form, you can still control how it accepts or rejects data. Therefore, data entry can also be configured at the form level. To provide this functionality, a form provides the same properties as the lower portion of the table's Design View. Practical Learning: Introducing Data Types 1. Click under PropertyID and add the following fields

Field Name Property # Address City State ZIP Code Bedrooms Bathrooms Year Built Market Value 2. Notice that the default data type for all the fields is Text 3. Save the table Data Type Properties

To further control how data is entered and/or how it is displayed on a field, both the table in Design View and the Property Sheet in Form Design provide special fields. Because the list of data types may appear short to you, each data type provides some configuration that allows you to control how data for that field either would be selectively entered or would display. To do this in the Datasheet View of a table, click any field under the column header. On the Ribbon, click Fields. Use the options in the Properties, the Formatting, and the Field Validation tabs:

To control the properties of a table in the Design View, after selecting a data type in the Data Type column, in the lower section of the table, you can format or further configure the field. The lower part of the table Design View is made of two sections: the property pages on the lower left and the properties help section on the lower right:

The kind of Data Type you set for a field in the upper section controls what displays in the lower section of the view. The General property page controls the features of the selected data type. The options in the General property page depend on the data type that was specified:

The Lookup tab allows you to specify a feature that is particular to the specific data type that was specified. For some data types, it would display a combo box. For some other data types, the Lookup property page would be empty.

Routine Assistance With Data Entry A Default Value for a Column Data entry consists of typing values in data fields or selecting values from bound controls. Some records happen to have the same value for a particular field, or most records hold a common value for a certain field. When designing a table, you can assign the most commonly used value to such a field so the user would not have to type it. The user would change the value only if it is different from the usual. For example, when creating a database for a small company, all employees may have the same telephone number but with individual extensions. When a new record is being entered, the value would be set already for the field. To specify a regularly used value for a field:

While the table is displaying in the Datasheet View, on the Ribbon, click Fields. On the Properties section, click Default View. This would open the Expression Builder with = in the main text box. If you know the constant value you want to use, type it. Then click OK If the table is displaying in the Design View, in the top section, click the field. In the lower section of the window, click Default Value and type the desired value

The default value should be appropriately typed:


If the field is text-based, you can type the default text included in double-quotes. Examples are "M", "Virginia", "(301) 122-4738" If the field is numeric, you can type the number If the field is date-based and you want to specify a constant (fixed), type it between two # signs. An example would be #2/5/1998#

Instead of a constant value, you can use a value that depends on a built-in function. If you are using the Expression Builder, in the left list, expand Functions and expand Built-In Function. In the middle list, click the category the function belongs to. From the right list, double-click the desired function, then configure the function appropriately. Practical Learning: Setting Default Values 1. 2. 3. 4. In the top section, click State In the bottom section, click Default Value and type MD Save the table To switch it to Datasheet View, in the lower-right section, click the Datasheet View button

Validation Rule

A validation rule is a condition that the value entered in a field must meet in order to be valid. To create a validation rule:

If the table is displaying in the Datasheet View, on the Ribbon, click Fields. In the Field Validation section, click Validation and click Field Validation Rule

If the table is displaying in the Design View, click the field. In the lower section of the window, click Validation Rule and click its ellipsis button

In both cases, the action would open the Expression Builder where you can create a rule. Validation Text When the condition in the Validation Rule field is not respected, you can display a message box to let the user know. To create the message:

If the table is displaying in the Datasheet View, on the Ribbon, click Fields. In the Field Validation section, click Validation and click Field Validation Message. This would open the Enter Validation Message where you can type the desired message:

If the table is displaying in the Design View, click the field. In the lower section of the window, click Validation Text and type the desired message

Value Required for a Field If you think that there must be an entry for a particular field for each record, you can require it from the user. When performing data entry, after creating a record, the user cannot move to the next record if a value for that field has not been provided. You can specify that the value of a field is required when creating a table, whether you are working in the Datasheet View or the Design View of the table:

If you are creating or configuring a table in the Datasheet View, to specify that the values of a field are required, click any cell of the column. On the Ribbon, click Fields. In the Field Validation section, click the Required check box. By default, the Required check box is not checked If you are creating or configuring a table in the Design View, in the top section, click the field. In the bottom section, click the arrow of the Required field and set it to Yes. Its default value is No

Practical Learning: Specifying Required Fields 1. On the table, click Property # and, on the Ribbon, click the Fields tab 2. In the Field Validation section, click the Required check box

3. To change the view, in the Views section of the Ribbon, click Design View 4. In the upper section of the table, click Market Value 5. In the lower section of the table, double-click the Required field to set its value to Yes 6. Save the table Indexed Fields When data is entered in fields, it is possible to have the same value for a field in different records, such as two people who live in the same state. This is considered as a duplicate value. In some other cases, this may not be acceptable. For example, you may not want two employees to have the same employee number. You can specify the indexation of a field when creating a table either in the Datasheet View or the Design View of the table. If you are creating or configuring a table in the Datasheet View, to specify the indexation of a field, click any cell of the column. Then, on the Ribbon, click Fields. In the Field Validation section, click the check box of the Unique option If you are creating or configuring a table in the Design View, in the top section, click the field. In the bottom section, click the arrow of the Indexed property. This characteristic can be set using one of 3 values:

If set to No (its default), no duplicate value checking will be done

If you want the database engine to check for duplicate but not necessary take any action, set this property to Yes (Duplicates OK) If you do not want a duplicate value of the same field in different records, set the field's Indexed property to Yes (No Duplicates)

Practical Learning: Controlling Indexed Fields 1. In the upper section, click Property # 2. In the lower section, click Indexed to display its combo box. Click the arrow of the Indexed combo box and select Yes (No Duplicates) 1. To change the view, in the Views section of the Design tab of the Ribbon, click

Datasheet View 2. When asked whether you want to save the table, click Yes Data Entry With a Lookup Field Introduction So far, to enter a string in a table, we assumed that the user would type it. In some cases, this is fine. Sometimes, you may want to limit the number of entries that a user can enter for a field. For example, if you create a list of students and you want the user to specify their gender, if you leave it up to the person doing data entry, you may end up with entries such as W, Girl, Female, G, Woman, or F. Although all these could indicate that the records designate a female, when performing data entry, these entries would create confusion and unpredictable results. Fortunately, Microsoft Access provides various solutions to this type of problem. On a table, you can create a list of values that the user would select for a field, instead of typing the value. Such a field is referred to as lookup. You can create the field whether in the Datasheet View or in the Design View. The Lookup Field as a Combo Box A lookup field appears as a combo box. To use it, the user can click the arrow and select from the list. There are various ways you can create a lookup field. In the Datasheet View:

Click Click to Add. In the window that appears, click Lookup & Relationship

Click a box under Click to Add. On the Ribbon, click Fields. In the Add & Delete section, click More Fields. In the window that appears, click Lookup & Relationship

In both cases, this would start the Lookup Wizard. In the first page of the wizard, you must select the second radio button. In the second page of the wizard, you will be asked to provide a value for each item that will eventually show in the list. To do that, you would click under Col1, type a value, press and down arrow key, and continue populating the list. When the list is complete, you can click Next, give it a name, and click Finish. Microsoft Access provides a few configured lookup fields you can add to a table. To use one of them, display the table in Datasheet View. Click a cell under Click to Add. On the Ribbon, click Fields. In the Add & Delete section, click More Fields. In the list that appears, click Category, Priority, or Status. You can keep the list or change it. To change the list, click the arrow of the combo box. Under the list, a button would appear:

You can then click that button. An Edit List Item dialog box would come up:

To change an item, select it in the list and replace it with a new string. To add a new item, click under the other items or click the end of the last item, press Enter, and type the desired item. The Default Value combo box allows you to specify what item would display as the default. To create a lookup field in the Design View of a table, after specifying a name for the column, set its Data Type to Lookup Wizard... This would start the Lookup Wizard. You use exactly as we described the Lookup Column from the Datasheet View. Practical Learning: Setting a Preset List Of Items 1. The Properties table should still be opened in Datasheet View. On the table, click the cell under Property # 2. On the Ribbon, click Fields 3. In the Add & Delete section, click More Fields and click Lookup & Relationship 4. In the first page of the wizard, click the second radio button: I will type in the values that I want

5. Click Next 6. In the second page of the wizard, click the first empty field under Col1 and type Single Family 7. Press the down-arrow key and type Townhouse 8. Press the down-arrow key and type Condominium 9. Press the down-arrow key and type Unknown

10. Click Next 11. For the column label, type Property Type and click Finish

12. On the table, click the cell under Property Type 13. In the Add & Delete section of the Fields tab of the Ribbon, click More Fields. Scroll down. In the Quick Start section, click Category 14. While the new column is still selected, in the Properties section of the Ribbon, click Name & Caption 15. Change the Name to Condition 16. Change the Caption to Condition 17. In the Description text box, type Possible Values are Excellent, Good Condition, Needs Some Repair, Bad Shape

18. Click OK 19. Click the arrow under the Condition column header and click the button that appears 20. Press Ctrl + A to select everything in the list and press Delete 21. Type Unknown and press Enter 22. Complete the list with the following items Excellent, Good Condition, Needs Some Repair, Bad Shape 23. Click the arrow of the Default Value combo box and select Unknown

24. Click OK 25. Enter a few records

Lesson Summary Exercises World Statistics 1. Open the World Statistics1 database 2. Open the Countries table in Design View 3. Use the Lookup Wizard on the GovernmentType column to create a list of the government types. The options will be Republic, Islamic Republic, Monarchy, Communist State, Other, and Unknown. Set the Default Value to "Unknown" 4. Save and close the table US Senate 1. Open the US Senate1 database 2. Open the Senators table 3. Use the Lookup Wizard on the SeatingStatus column to create a list of the status. The options will be Active, Retired, Removed, and Deceased 4. Use the Lookup Wizard on the Gender column to create a list of the genders. The options will be Male, Female, and Unknown. Set the Default Value to "Unknown" 5. Save and close the table

You might also like