Object |
|
|
|
|
|
Name |
Person |
Table |
Ball |
Insect |
Map |
Some characteristics apply to a group of objects but don't
apply to another group. For example, a characteristic called width can be used
to describe a car, a medical pill, a piece of paper, or a computer monitor. Here
are examples of characteristics applied to different objects:
Common Characteristics |
|
|
|
|
Name |
Digital Camera |
Basket |
Car |
Tennis Ball |
External Color |
Black |
Blue |
Grey |
Yellow |
Unit Price |
899.95 |
24.55 |
19995.00 |
6.25 |
Some other characteristics can be applied to one object or one
type of object that is mostly unique while those characteristics cannot be
applied to some other objects
When creating a database, you will also use objects but
these are referred to as Windows controls or simply controls. In a typical
application, you will choose the objects, that is, the controls that you judge
necessary and you will make them part of your application. Here is an example of
a form with various controls:
As we move, we will indicate how to choose controls and
populate a form with them.
Practical
Learning: Introducing Objects
|
|
- Start Microsoft Access and, from the resources that accompany these
exercises, open the Exercise1 database
- To display an existing object, under the Objects bar of the Database
window, click Forms
- In the right frame of the window, double-click Sample Form
The Properties of an Object |
|
In the programming world, a characteristic of an
object is referred to as a property of that object. For example, as mentioned
above, every object must have a name. The name is
used to identify the object. In the same way, the other characteristics that we
reviewed above are in fact the properties of that object.
Because every object has properties, they can be created as
a list. Consider the table we saw abve:
Common Characteristics |
|
|
|
|
Name |
Digital Camera |
Basket |
Car |
Tennis Ball |
External Color |
Black |
Blue |
Grey |
Yellow |
Unit Price |
899.95 |
24.55 |
19995.00 |
6.25 |
The properties of each object are: its
name, its external color, and its unit price. This can be illustrated as:
Object |
|
Property Name |
|
Name |
|
External Color |
|
Unit Price |
To represent an object, that is, to describe it, you can
give a value to each property. For example, the properties of the digital camera
from the above table are its name, its color, and its price. The values of the
properties of that camera are: Name: Digital Camera, External Color: Black, Unit
Price:
$899.95. This can be illustrated as:
Object |
|
Property Name |
Property Value |
|
Name |
Digital Camera |
|
External Color |
Black |
|
Unit Price |
899.95 |
From this illustration, it is important to make a
distinction between a property and its value: a property is a word or a group of
words used to define what constitutes an object. A value is the word or a group
of words used to formally describe an object. In the programming world, the name
of a property is always of one word only, as the Name property in the above
table. If a name is made of more than one word, then they must simply be
combined into one. In the same way, the value of a property is made of only one
word. Also, if the name is a combination of words, they must be concatenated
(added) to produce one word. Based on this, the properties and their values from
the above table would be:
Object |
|
Name |
DigitalCamera |
|
ExternalColor |
Black |
|
UnitPrice |
899.95 |
Just as done in the real world, Microsoft Access also
relies on objects to represent a database. One of the most regularly used
objects of a
database is called a table. Another regularly used object of an application is
called a form. There are many other objects as we will find out in future
lessons.
Accessing the Properties of an Object |
|
Each object has properties. To effectively use an object, you should be
familiar with its properties or at least how to use them to describe an object.
During the design of an object, you will have a window that
represents its properties. The window that displays the list of properties is
different depending on the object and depending on whether you are working in
Microsoft Access or in Microsoft Visual Basic. For a form, which is probably the
most regularly used object of an application, on this site, the window that
presents its properties will be called the Properties window. It appears as a resizable
horizontal window with 5 tabs labeled Format, Data, Event, Other, and
All:
As mentioned in the previous lesson, in Microsoft Visual
Basic, the Properties window usually appears in the lower left section of the
screen and appears with 2 tabs labeled Alphabetic and Categorized:
To visually configure a property, you must first locate it
in the Properties window. If you are working in Microsoft Access, the properties
are categorized in three tabs: Format, Data, and Other. All of these properties
are also represented in the All tab. Each property appears with its name as in
the real world: in different words. Examples are Caption, Default View,
or Min Max Buttons. After locating the property, to see or change its
value, you use the box to its right. This means that a property is made of two
sections: a property name and a property value. This can be illustrated as
follows:
If you are working in Microsoft Visual Basic, you can use
the same approach to change a property using the Properties window. This time,
the names of properties appear in one word and they are in their official
format.
To programmatically change a property, in your code section,
type the name of its object, followed by a period operator ".",
followed by the official name of the property, followed by the assignment
operator, and followed by the desired value. This means that you must know the
name of the object whose property you want to change. You must know the (true)
name of the property you want to change, and you must know the possible values
that the property can receive. Here is an example of code that hides a
rectangular box, named boxRectangle, when the user clicks a button:
Private Sub cmdHide_Click()
boxRectangle.Visible = False
End Sub
We mentioned earlier that the names of objects are usually
in one word. In reality, Microsoft Access is very flexible and allows you to use
more than one word to name an object (but the properties names are always in one
word). If you have an object that is made of more than one word, when referring
to it in an expression, whether in the Properties window or with your code, you
must include it between the opening square bracket "[" and the closing
square bracket "]". For example, suppose that you have a box named
Rectangular Box instead of boxRectangle. The above code would be written:
Private Sub cmdHide_Click()
[Rectangular Box].Visible = False
End Sub
There is no penalty if you always include your name in
square brackets when referring to them whether in the Properties window or with
code, even if the name is made of one word. Here is an example:
Private Sub cmdHide_Click()
[boxRectangle].Visible = False
End Sub
This would produce the same result as above.
Practical
Learning: Introducing Properties
|
|
- To change the view of the form, while the form is activated, on the main
menu, click View -> Design View
- Notice that a window appears with a caption that displays Form. If you don't see it, on
the main menu of Microsoft Access, click View -> Properties
- This is the Properties window in Microsoft Access. Notice that it is divided in
five property pages
- To open Microsoft Visual Basic, on the Standard toolbar of Microsoft
Access, click the Code button
- Notice that the Properties window displays the properties of the form as
it is selected in the Project window
- In the Object combo box, select Form
- Type NavigationButtons = False
- To return to Microsoft Access, on the toolbar, click the View Microsoft
Access button
- On the Standard toolbar of Microsoft Access, click the View button
- After viewing the result, on the Form View toolbar of Microsoft Access,
click the View button
With the Properties of an Object |
|
Sometimes, you will need to access only one property of an
object. In some other cases, you will need to change various properties to
perform a specific task. To do this, as we saw above, you can type the name of
the object, followed by the period operator, followed by the name of the
property. Here is an example:
Private Sub cmdManipulate_Click()
boxEnvelop.BackStyle = 1
boxEnvelop.BackColor = 979478
boxEnvelop.SpecialEffect = 1
boxEnvelop.BorderColor = 234657
boxEnvelop.BorderWidth = 2
End Sub
|
|
As an alternative, instead of typing the name of the control
over and over again, you can use the With operator whose formula is:
With ObjectName
Statements
End With
On the right side of the With keyword, type the name of the
control whose properties you want to access. Under the With ObjectName
line, type your statements and expressions as you wish but start each property
of the ObjectName with the period operator. At the end of the With
statement, type End With. Based on this, the above code would have been written:
Private Sub cmdManipulate_Click()
With boxEnvelop
.BackStyle = 1
.BackColor = 979478
.SpecialEffect = 1
.BorderColor = 234657
.BorderWidth = 2
End With
End Sub
Because properties are meant to accomplish various goals,
they are also configured differently. In previous sections, we saw that the name of a property
was represented on the left column of a tab in the Properties window and the
value of the property was on the right side.
There are various kinds of
fields you will use to set the properties. To know what particular kind a
field is, you can click its name. To set or change a property, you use
the box on the right side of the property’s name.
There are fields that expect you to type a value. Most of these fields have default
text.
To visually change the value of the property, click the name of the property,
type the desired value, and press Enter.
While some properties, such as the
Text or
Caption, would allow anything, some other fields expect a specific type of text, such as a numeric value.
To programmatically change the value of the property, use the approach we
described above and assign it the desired value.
|
|
At design time, that is, in the Properties window, the text you provide
will appear "as is" and cannot change. If you want the text to
change in response to something, you must write code.
Practical
Learning: Setting a Text-Based Property |
|
- While the form is displaying in Microsoft Access, if the Toolbox is not
displaying, on the main menu, click View -> Toolbox.
In the Toolbox, click Text Box
and click (somewhere in) the top section of the form
- While the new text box is still selected, in the Properties window, click
the Other tab and notice
that there is a default text in the Name field.
Click Name, type txtToday and press
Enter
- In the Toolbox, click the Command Button and click somewhere on the right
side of the text box that was added.
If a dialog box comes up (it should), click Cancel
- While the text box is still selected, in the All tab of the Properties
window, click Name and type cmdToday
- Click Caption and type Today
- In the Form View toolbar, click the Code button
- Click the arrow of the Object combo box and select cmdToday
- Type [txtToday] = Date
Private Sub cmdToday_Click()
[txtToday] = Date
End Sub
|
- To return to Microsoft Access, on the Standard toolbar, click View
Microsoft Access
- Once in Microsoft Access, click the View button
on the Form View toolbar
- When the form displays, click the button and notice that the text box
displays the current date
- To switch back to Form view, click the View button
on the Form View toolbar
Some fields expect a numeric value. In this case, you can
click the name of the field and type the desired value. If you type an invalid
value, you would receive a message box notifying you of the error:
When this happens, click OK and type a valid value. If the
value is supposed to be an integer, make sure you don't type it as a decimal
number.
Practical
Learning: Setting a Numeric Property |
|
- On the form, click the Detail bar
- In the Properties window, click the Format tab and click Height
- Type 1.85 and pres Enter
|
By default, these fields have nothing in their properties.
Some of these properties are depending on other characteristics of
an object.
To visually set the property on such a field, you can type in it or select from a list. To
programmatically set the property, use the approach we reviewed earlier:
the name of the property, the assignment operator, and the desired value.
|
Practical
Learning: Setting Empty Properties |
|
- Click the square button in the top-left section of the form under the
title bar
- In the Properties window, click the Format tab and click Caption
- Type Department of Records and Statistics and press
Enter
- Switch the form to Form View to see the result
- Switch it back to Design View
|
Some fields can have only a Yes or a No value. To change their
value, you can either select from the combo box or double-click the property to toggle to the other value.
|
Practical
Learning: Setting a Boolean Property |
|
- While the properties of the form are still displaying in the Properties window,
click the Format tab and double-click Record Selectors to change its value from
Yes to No
- Press the down arrow key a few times to reach the Auto Center field
- Type y and notice that it changes to yes
- Save the form
Some fields would require a value or item that needs to be
set through an intermediary action. Such fields display an ellipsis button . When you click the button, a dialog box would come up and you can set the value for the field.
|
|
Practical
Learning: Using an Action-Based Property |
|
- Right-click the following picture and click Copy
- Open Microsoft Paint (Start -> (All) Programs -> Accessories ->
Paint) and paste the picture in in. Close Microsoft Paint. When asked
whether you want to save it, click Yes and save the picture as Background in
your My Documents folder. Return to Microsoft Access
- Click the square button in the top-left section of the form under the
title bar
- In the Properties window, click the Format tab and click Picture
- Click the ellipsis button of the Picture field and, in the Insert Picture
dialog box, locate the folder where you saved the above picture
- Select the picture and click OK
- To preview the form, switch it to Form Views window, click Icon and click its ellipsis button
of the Pi
- Locate the Drive:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Graphics\icons\arrows
folder and display it in the Look In combo box
- After viewing it, switch the form back to Design View
To change the value of some of the fields, you would use their combo
box to display the available values. After clicking the arrow, a list would
display. Here is an example:
There are various types of list-based fields. Some of them display just
two items. To change their value, you can just double-click the field. Some other fields have
more than two values. To change them, you can click their arrow and select from
the list. You can also double-click a few times until the desired value is selected.
Practical
Learning: Using a List-Based Property |
|
- On the form, click the Unbound text box. This would allow you to locate
its accompanying label
- On the left side of the Unbound text box, click the label (it appears with
eight sizing handles)
- In the Properties window, click the Format tab and click Font Weight
- Click the arrow of Font Weight and select Semi-Bold
- Click Fore Color and click its ellipsis button
- In the Color dialog box, click the yellow button (2nd column - 2nd row)
and click OK
- In the Properties window, if necessary, scroll up and click Caption
- Type Today: and press Enter
- Switch the form to Form View to preview it
- Save and close the form
As opposed to being described, an object can perform
actions. For example, a Person object can sing. A Car object can move. An insect
can crawl. A basket can hold some clothes. Here are examples of actions:
Objects |
Person |
Car |
Dog |
Insect |
|
|
|
|
|
Actions |
Move |
Move |
Move |
Move |
Talk Aloud |
Protect (from rain) |
Protect (from intruders) |
Crawl |
Sing |
Carry |
Sit Down |
Smell Food |
Eat |
|
Eat |
Eat |
Walk Slowly |
|
Bark |
Walk |
Notice that some objects can perform similar types of
actions. For example all objects of this table can move. Some objects can
perform actions that some others can't. For example, from the objects in the
above table, a person and a dog can eat.
In the programming world, an action that an object can
perform is called a method. Like a property, a method must have a name. On the
above table, notice that the name of a method usually (if not always) resembles
a verb. Examples are Bark, Eat, or Drink. To make a distinction between a
property and a method, on this site, we will always follow the name of a method with empty
parentheses. Examples are Move() or Bark().
Like a property, the name of a method is always in one word.
Examples are Walk() or Crawl(). If the name is a combination of words, each part
starts in uppercase. Examples would be TalkAloud(), SmellFood(), EatGrass(), or
ProtectFromRain().
Accessing the Methods of an Object |
|
Because a method is performed, it cannot be represented in a
window such as the Properties window. Eventually, we will know how to identify
and use the methods of an object. Using a method is referred to as calling it. When a method can
produce a result, it can be assigned to a property.
|
To call a method, if it produces a result that can be
applied to a property, if you are working in Microsoft Access, in the Properties
window, locate the property that will use the result of the method. In the
property value section, type the assignment operator "=", followed by
the name of the object that owns the method, followed by a period operator,
followed by the name of the method and followed by parentheses. In future
lessons, we will see that there can be other issues involved with calling a
method. |
To programmatically call a method, type the name of the
object that owns the method, followed by a period operator, and followed by the
name of the method.
Practical
Learning: Calling a Method
|
|
- Once again, in the Toolbox, click Text Box
and click the middle section of the form
- While the middle text box is still selected, in the Properties window,
click the Other tab
- Click Name and type Company Name and press Enter
- To preview the form, on the Standard toolbar, click the View button
and notice that the caret is blinking in the top text box, indicating that
it has focus
- To return to design view, on the Standard toolbar, click the View button
- To return to Visual Basic, on the task bar, click Microsoft Visual Basic
- In the Code Editor, click the right side of the first line of code and press Enter
- Type [Company Name].SetFocus
Private Sub Form_Load()
NavigationButtons = False
[Company Name].SetFocus
End Sub
|
- To return to Microsoft Access, on the task bar, click Main Form : Form
- On the Standard toolbar of Microsoft Access, click the View button
- Notice that, this time, it is the middle text box that has the blinking
caret because it has focus.
After viewing the result, on the Standard toolbar of Microsoft Access, click
the View button
|
|