Advanced Repetition Structure and String Functions (Unit 10) Visual Basic for Applications

Preview:

Citation preview

Advanced Repetition Structure and String Functions

(Unit 10)

Visual Basic for Applications

Objectives

In this unit, you will learn how to:

Perform repetition using the Do…Loop statement

Manipulate a string using string functions

Search for a string within another string

Sort a table in Word using the Sort method

Concept Lesson:More on Repetition Structure

You also can use the repetition structure to

repeat one or more instructions until some

condition is met

You can use the VBA Do…Loop statement to

code that type of repetition structure

The Do…Loop Statement You can use the VBA Do…Loop statement to code a

repetition structure that repeats its instructions either while some condition is true or until some condition becomes true

VBA also has another version of the Do…Loop statement, where the {While|Until} appears in the Loop clause rather than in the Do clause

The Do…Loop statement begins with the Do clause and it ends with the Loop clause

The {While | Until} indicates that you can select only one of the keywords appearing within the braces

Syntax and Examples of the Do…Loop Statement

Exhibit 10-1: The syntax and examples of the Do…Loop statement

The VBA StringManipulation Functions

VBA provides a set of functions that makes string manipulation an easy task

In this lesson, you will learn how to use four of the most frequently used string manipulation functions: Left

Right

Mid

Instr

The Left and Right Functions

The Left and Right functions return oneor more characters from a string, starting at either the left or right end of the string Exhibit 10-2: The syntax and examples

showing the Left and Right functions

The Mid Function

The Mid function, which has the syntax Mid(String:=string, Start:=start[,Length:= length]), returns length number of characters from the string, beginning with the start character

Exhibit 10-3: The syntax and examples of the Mid function

The Instr Function

You can use the Instr function to search a string to determine ifit contains another string

The syntax of the Instr function is Instr(start, string1, string2 [, compare])

Exhibit 10-4: The syntax and examples of the Instr function

SummaryTo use the Do…Loop statement to code the repetition

structure:

Use the syntax shown in Exhibit 10-1, where condition, which must evaluate to either True or False, can contain variables, constants, functions, mathematical operators, comparison operators, and logical operators

To return characters from a string:

Use the Left, Right, or Mid functions

The Left function, the syntax of which is Left(String:=string, Length:=length), returnsthe left-most length number of characters from the string

SummaryTo return characters from a string:

The Right function, the syntax of which is Right(String:=string, Length:=length), returns the right-most length number of characters from the string

The Mid function, the syntax of which is Mid(String:=string, Start:=start[, Length:=length]), returns length number of characters from the string, beginning at position start

SummaryTo search a string if it contains another string:

Use the Instr function, the syntax of which is Instr(start, string1, string2[, compare]). The Instr function does not support the use of named arguments

Start is a numeric expression that sets the starting position for the search

If string2 is contained within string1, thenthe Instr function returns the starting position of string2

Excel Lesson: Viewing the Consultants Worksheet and the BreakNameApart

Procedure Before creating the macro that will separate each consultant’s full name into his or her first and last name, view the workbook, and the code template for the BreakNameApart procedure

Pseudocode for the BreakNameApart Procedure

Exhibit 10-5: The pseudocode for the BreakNameApart procedure

Viewing the Consultants Worksheet and the BreakNameApart Procedure

The BreakNameApart procedure will use the intLocation variable to store the value returned by the Instr function, and it will use the shtConsult variable to store the address of the Consultants worksheet

Word Lesson:Viewing the Guest Document Before creating the procedure that will sort the list and then

remove any duplicate names, view the document and the code template for the SortAndRemoveDuplicates procedure

Sorting a Table

You can use the Table object’s Sort method to sort the entries in a table in either ascending or descending order

The Sort method’s ExcludeHeader argument, which can be set to either the Boolean value True or the Boolean value False, controls whether the first row in the table is sorted along with the remaining table rows

You can sort the table entries based on the values stored in one, two, or three different columns

Sorting a Table

You use the SortFieldType, SortFieldType2, and SortFieldType3 arguments to indicate the type of data contained in the FieldNumber, FieldNumber2, and FieldNumber3 columns, respectively

Exhibit 10-6: The syntax and examples of the Table object’s Sort method

Pseudocode for the SortAndRemoveDuplicates Procedure

Exhibit 10-7: The pseudocode for the SortAndRemoveDuplicates procedure

Coding the SortAndRemoveDuplicates Procedure

The SortAndRemoveDuplicates procedure will use the intRow variable in a Do…Loop statement that repeats its instructions for each table row that contains guest information

This procedure will use the strCurrentName and strPreviousName variables to store the names entered in the current and previous rows, respectively, in the table

Access Lesson:Viewing the Database and the LocateInstructor Procedure

Before creating the macro that will display the names of instructors teaching a particular course, you will view the records contained in the database’s AdjunctFaculty table

Pseudocode for the LocateInstructor Procedure

Exhibit 10-8: The pseudocode for the LocateInstructor procedure

Viewing the Database and the LocateInstructor Procedure

This procedure will use the String variable strCourseNum to store the course number entered by the user

It will use the String variable strFound to store the letter “Y”, indicating that the procedure located at least one instructor who teaches the course

Viewing the Database and the LocateInstructor Procedure

The cnnAdjFac and rstAdjFac object variables will be used to store the addresses of the Connection and Recordset objects, respectively

Viewing the Database and the LocateInstructor Procedure

You will use the Do…Loop statement along with the Recordset object’s EOF property to code the appropriate loop

The Recordset object’s EOF property returns the Boolean value True if the record pointer, which Access uses to keep track of the current record, is positioned after the last record in the recordset

Because a Recordset is an object rather than a collection, you cannot use the For Each…Next statement that you learned about in unit 9 to code the loop; however, you can use the For…Next statement

Recommended