suny morrisville-norwich campus-week 12 cita 130 advanced computer applications ii spring 2005 prof....

29
SUNY Morrisville- Norwich Campus-Week 12 CITA 130 Advanced Computer Applications II Spring 2005 Prof. Tom Smith

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

SUNY Morrisville-Norwich Campus-Week

12

CITA 130 Advanced Computer Applications II

Spring 2005Prof. Tom Smith

Objectives Questions from Last Week

Introduction to VBA

Database Review

Microsoft Office Access 2003

Tutorial 11 – Using and Writing Visual Basic for Applications

Code

Learn about VBA When you work in Access, in the background,

Visual Basic for Applications (VBA) code is being created.

You can also write your own VBA code that will alter the properties of objects, perform calculations, and many other custom actions.

Recall that an event is something that happens while using the database.

You can write a statement that, when an event occurs, responds by executing a series of VBA statements.

Function procedures, Sub procedures, and modules Statements are grouped together into

procedures, which can be either a function or a Sub procedure.

Common procedures are usually stored together into a module.

A module can be a standard module (stored in memory with other database objects) or it can be a class module (stored in association with a particular form or report).

With class modules, the procedures are available by the form or report for which the class module was created.

The structure of a VBA module

Learning VBA takes time and effort Learning to write VBA code efficiently and

accurately is the hardest part of learning to use Access.

In this tutorial, you are getting just a small view of VBA code.

You should keep in mind that you will not be considered a proficient VBA programmer following this tutorial.

Rather, if you want to be a database developer, you should probably take another course geared towards VBA programming.

Review and modify an existing Sub procedure in an event procedure When a class module already exists, you

can view the code for the procedures in the VBA editor: Open the property sheets for the object and

then locate the event for which the procedure is written

Click the Build button to open the Visual Basic window, which reveals the code stored in the class module

The window in which the code appears is called the Code window.

Use assignment statements Procedures are enclosed between the Sub

statement and the End Sub statement. Within a procedure, you will see statements

that work together called control structures. Assignment statements assign a value to a

field or property. In some cases, an assignment statement

might assign a new value to an object property.

You can make changes to VBA code in the Code window.

Event properties for a form

The Visual Basic Code window

Recognize VBA statements In the Code window (shown in the previous slide) you would

view, edit, and test your VBA statements. You will probably not understand the statements that

appear in this window. However, there are a couple of statements that you will

recognize: The first statement is the Private Sub statement The last statement is the End Sub statement

In this sample code, the ForeColor is changed under certain circumstances. The code used the RGB function, which will return a specified

colored by using combinations of Red, Green, and Blue

A function that modifies an object’s color

RGB values for some colors

Create Function proceduresin a standard module To create new procedures click Modules on the

objects bar and then click New. This will open the Code window in the Visual

Basic window. To write a Sub procedure,begin with the Sub

statement. To write a Function procedure, begin with the

Function statement. The Function will end with the End Function

statement.

Assign a name to a function The Function statement is then followed

with the name of the function. If you will be passing values to the

Function, the Function name is followed by a Parameter list (which could be just one item).

When you pass a value to a Function, it is called an argument.

When naming a Sub procedure or a function, you must follow the rules for naming objects.

Define a function in the Code window

Name and save your module Once you have written your Function, you will

need to save the module that holds the function. When you click the Save button, you will be

prompted to supply a name for the module. This is not the same as naming the Function and

you do not have to follow the name rules mentioned previously.

Recall that a module will hold a collection of procedures so you will want to name the module something that will indicate what is inside the module.

Use comments in your functions

Create event procedures VBA is an event-driven language, meaning

that when events takes place, procedures are triggered.

All event procedures are Sub procedures. Access will automatically name the event

in a standard way, which includes: The name of the control An underscore The event name

Add an event procedure To add an event procedure to a class module:

Open the object to which it will be attached Open its property sheet On the Event tab, select the event that will trigger the

function This will open the code window for the object you

have selected. Before you run your procedure, it must first be

compiled. The process of compilation is the process of

converting the code to a format the computer can understand.

Use the If statement A commonly used control structure is the If

statement The If statement provides a condition and then if

the condition is true, a set of statements is executed; if it is false, a different set of statements is executed.

The If statement created in your tutorial incorporates the IsNull function into it.

The IsNull function returns a True value if the argument is empty (no text) and it returns a False value if the argument is not empty.

An example of an If statement

The function execution process

An example of an event procedure

Declare variables in functions and procedures

Primary VBA Data Types

Compile and test Function procedures, Sub procedures and event procedures When you compile a module, Access will look for

errors in syntax. If any errors are found, an error message will

display. You will need to fix all syntax errors before the modules can complete compilation.

When no errors exist, Access will translate the procedure.

You should compile a module any time you make changes to make sure there are no syntax errors in its procedures.

You should also test each procedure to make sure it performs as you expect.

Database Review Questions? Databases/Tables Queries Reports Forms VBA