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

SUNY Morrisville-Norwich Campus-Week 12

  • Upload
    judd

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

SUNY Morrisville-Norwich Campus-Week 12. CITA 130 Advanced Computer Applications II Spring 2005 Prof. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: SUNY Morrisville-Norwich Campus-Week 12

SUNY Morrisville-Norwich Campus-Week

12

CITA 130 Advanced Computer Applications II

Spring 2005Prof. Tom Smith

Page 2: SUNY Morrisville-Norwich Campus-Week 12

Objectives Questions from Last Week Introduction to VBA Database Review

Page 3: SUNY Morrisville-Norwich Campus-Week 12

Microsoft Office Access 2003

Tutorial 11 – Using and Writing Visual Basic for Applications

Code

Page 4: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 5: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 6: SUNY Morrisville-Norwich Campus-Week 12

The structure of a VBA module

Page 7: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 8: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 9: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 10: SUNY Morrisville-Norwich Campus-Week 12

Event properties for a form

Page 11: SUNY Morrisville-Norwich Campus-Week 12

The Visual Basic Code window

Page 12: SUNY Morrisville-Norwich Campus-Week 12

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

Page 13: SUNY Morrisville-Norwich Campus-Week 12

A function that modifies an object’s color

Page 14: SUNY Morrisville-Norwich Campus-Week 12

RGB values for some colors

Page 15: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 16: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 17: SUNY Morrisville-Norwich Campus-Week 12

Define a function in the Code window

Page 18: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 19: SUNY Morrisville-Norwich Campus-Week 12

Use comments in your functions

Page 20: SUNY Morrisville-Norwich Campus-Week 12

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

Page 21: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 22: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 23: SUNY Morrisville-Norwich Campus-Week 12

An example of an If statement

Page 24: SUNY Morrisville-Norwich Campus-Week 12

The function execution process

Page 25: SUNY Morrisville-Norwich Campus-Week 12

An example of an event procedure

Page 26: SUNY Morrisville-Norwich Campus-Week 12

Declare variables in functions and procedures

Page 27: SUNY Morrisville-Norwich Campus-Week 12

Primary VBA Data Types

Page 28: SUNY Morrisville-Norwich Campus-Week 12

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.

Page 29: SUNY Morrisville-Norwich Campus-Week 12

Database Review Questions? Databases/Tables Queries Reports Forms VBA