advanced repetition structure and string functions (unit 10) visual basic for applications
TRANSCRIPT
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