+ All Categories
Home > Documents > Access VBA Programming for Beginners - Class 4 - by Patrick Lasu [email protected].

Access VBA Programming for Beginners - Class 4 - by Patrick Lasu [email protected].

Date post: 14-Jan-2016
Category:
Upload: chloe-jackson
View: 217 times
Download: 2 times
Share this document with a friend
22
Access VBA Programming Access VBA Programming for Beginners for Beginners - Class 4 - - Class 4 - by by Patrick Lasu Patrick Lasu [email protected] [email protected]
Transcript
Page 1: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Access VBA ProgrammingAccess VBA Programmingfor Beginners for Beginners

- Class 4 -- Class 4 -byby

Patrick LasuPatrick Lasu

[email protected][email protected]

Page 2: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Class 4 - OverviewClass 4 - Overview

Coding ConceptsCoding Concepts– Reading CodeReading Code– VB Operators/Characters:VB Operators/Characters:

» Concatenation, Line Continuation, CommentsConcatenation, Line Continuation, Comments

– Stepping through CodeStepping through Code IF StatementsIF Statements IIF StatementsIIF Statements Select Case StatementsSelect Case Statements

Page 3: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Coding ConceptsCoding Concepts

Reading CodeReading Code– Reading code can be trickyReading code can be tricky

» Statements to the left and right of an equal Statements to the left and right of an equal sign will not be equal until the code is sign will not be equal until the code is executed (and then it can be “not equal” executed (and then it can be “not equal” again).again).

– Tip 1: Read (evaluate) from the right of Tip 1: Read (evaluate) from the right of the equal sign to figure it outthe equal sign to figure it out

– Tip 2: Do not worry about “past” Tip 2: Do not worry about “past” statementsstatements

Page 4: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

VBA CodeVBA Code

intValue = 5 + 2intValue = 5 + 2

Next Line of CodeNext Line of Code

Coding ConceptsCoding Concepts

Behind the scenesBehind the scenes

0 = 5 + 20 = 5 + 2

Next Line of CodeNext Line of Code

Reading Code – Example 1Reading Code – Example 1

Page 5: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Behind the scenesBehind the scenes

7 = 5 + 27 = 5 + 2

Next Line of CodeNext Line of Code

VBA CodeVBA Code

intValue = 5 + 2intValue = 5 + 2

Next Line of CodeNext Line of Code

Coding ConceptsCoding Concepts

Reading Code – Example 1Reading Code – Example 1

Page 6: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Behind the scenesBehind the scenes

0 = 50 = 5

0 = 0 + 20 = 0 + 2

Next Line of CodeNext Line of Code

VBA CodeVBA Code

intValue = 5intValue = 5

intValue = intValue + 2intValue = intValue + 2

Next Line of CodeNext Line of Code

Coding ConceptsCoding Concepts

Reading Code – Example 2Reading Code – Example 2

Page 7: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Behind the scenesBehind the scenes

5 = 55 = 5

5 = 5 + 25 = 5 + 2

Next Line of CodeNext Line of Code

VBA CodeVBA Code

intValue = 5intValue = 5

intValue = intValue + 2intValue = intValue + 2

Next Line of CodeNext Line of Code

Coding ConceptsCoding Concepts

Reading Code – Example 2Reading Code – Example 2

Page 8: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Behind the scenesBehind the scenes

7 = 57 = 5

7 = 7 + 27 = 7 + 2

Next Line of CodeNext Line of Code

VBA CodeVBA Code

intValue = 5intValue = 5

intValue = intValue + 2intValue = intValue + 2

Next Line of CodeNext Line of Code

Coding ConceptsCoding Concepts

Reading Code – Example 2Reading Code – Example 2

Page 9: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Coding ConceptsCoding Concepts

Concatenation character: Concatenation character: & (ampersand)& (ampersand)

Used for putting expressions togetherUsed for putting expressions togetherExample: Example: strFirstName = “John”strFirstName = “John”strLastName = “Doe”strLastName = “Doe”strFullName = strFirstName & “ “ & strLastNamestrFullName = strFirstName & “ “ & strLastName

Avoid using ‘+’ to concatenate, it can Avoid using ‘+’ to concatenate, it can produce unexpected resultsproduce unexpected results

Page 10: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Coding ConceptsCoding Concepts

Line continuation character: Line continuation character: _ (underscore)_ (underscore)Example:Example:

Msgbox “This is important“, _Msgbox “This is important“, _vbOKOnly, “My Message”vbOKOnly, “My Message”

String Example:String Example:strMsg= “This is a very important “ & _strMsg= “This is a very important “ & _““message from me!”message from me!”

Limit is 25 lines, or 24 line continuationsLimit is 25 lines, or 24 line continuations

Page 11: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Coding ConceptsCoding Concepts Making commentsMaking comments

– Use ‘ (apostrophe) to start a commentUse ‘ (apostrophe) to start a comment– Comments are not executed; used to document Comments are not executed; used to document

what the code is suppose to dowhat the code is suppose to do» No need to write an essayNo need to write an essay

Example:Example:‘‘Assign a valueAssign a valueintValue=5intValue=5

Rem Example:Rem Example:Rem Assign a valueRem Assign a valueintValue=5intValue=5

Page 12: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Coding ConceptsCoding Concepts

Stepping through codeStepping through code– Use [F5] in the code window to execute the Use [F5] in the code window to execute the

codecode– Use [F8] in the code window to execute the Use [F8] in the code window to execute the

code one step at a timecode one step at a time Works in a Standard Module, does not work Works in a Standard Module, does not work

in a Form Module.in a Form Module.

Page 13: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement

An IF statement evaluates a condition to find An IF statement evaluates a condition to find out if it is True or False, then executes the out if it is True or False, then executes the appropriate statement(s)appropriate statement(s)

Type the word ‘If’ in the code window and Type the word ‘If’ in the code window and press [F1] for help on the topicpress [F1] for help on the topic

Page 14: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement Syntax (Single Line):Syntax (Single Line):

If If conditioncondition Then [ Then [statementsstatements] [Else ] [Else elsestatementselsestatements]] If If Sales>100K Sales>100K Then Then Bonus=10%Bonus=10% Else Else Bonus=1%Bonus=1%

Syntax (Multi-Line)Syntax (Multi-Line)

If If conditioncondition Then Then[[statementsstatements]]

[Else[Else[[elsestatementselsestatements]]]]

End IfEnd If

Pseudo-code:

If Sales>100K Then

Bonus=10%

Else

Bonus=1%

End If

Page 15: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement

Syntax (If…Then…ElseIf…Then…Else)Syntax (If…Then…ElseIf…Then…Else)

If If conditioncondition Then Then[[statementsstatements]]

[ElseIf [ElseIf condition-ncondition-n Then Then[[elseifstatementselseifstatements] ...] ...

[Else[Else[[elsestatementselsestatements]]]]

End IfEnd If

If Sales>100K Then Bonus=10%ElseIf Sales>50K Then Bonus=5%Else Bonus=1%End If

Page 16: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement

Nested IFNested IF

If If conditioncondition Then Then

If If conditioncondition Then Then

[[statementsstatements]]

[Else[Else

[[elsestatementselsestatements]]]]

End IfEnd If

[Else[Else

[[elsestatementselsestatements]]]]

End IfEnd If

Pseudo-Code:

If Sales>100K Then

If NewClients>5 Then

Bonus=15%

Else

Bonus=10%

End If

Else

Bonus=1%

End If

Page 17: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement

Operators for IF Statement Operators for IF Statement conditioncondition– Equal (=)Equal (=)– Not Equal (<>)Not Equal (<>)– Less Than (<)Less Than (<)– Less Than Or Equal To (<=)Less Than Or Equal To (<=)– Greater Than (>)Greater Than (>)– Greater Than Or Equal To (>=)Greater Than Or Equal To (>=)

Page 18: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

IF StatementIF Statement

Logical OperatorsLogical Operators– AndAnd– OrOr– NotNot– XorXor– EqvEqv– ImpImp

If Sales>100K And NewClients > 5 Then

If Sales>100K Or NewClients > 10 Then

If Not(Sales>100K) Then

Page 19: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Immediate IFImmediate IF

Immediate If is similar to If statementsImmediate If is similar to If statements– SyntaxSyntax

IIf(IIf(expr, truepart, falsepartexpr, truepart, falsepart))IIf(Sales>100K, Bonus=10%, 1%)IIf(Sales>100K, Bonus=10%, 1%)

– Can be nestedCan be nestedIIf(IIf(expr, truepart, expr, truepart, IIf(IIf(expr, truepart, falsepartexpr, truepart, falsepart))))

IIf(Sales>100K, Bonus=10%, IIf(Sales>50K,IIf(Sales>100K, Bonus=10%, IIf(Sales>50K, Bonus=5%, Bonus=1%))Bonus=5%, Bonus=1%))

Type the word ‘IIf’ in the code window and press [F1] for Type the word ‘IIf’ in the code window and press [F1] for help on the topichelp on the topic

Page 20: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Immediate IFImmediate IF

The drawback is that it always evaluates The drawback is that it always evaluates both true and false partboth true and false part– It is slower than IF statementsIt is slower than IF statements– Can give unexpected resultsCan give unexpected results

Page 21: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Select CaseSelect Case

Select Case is similar to If…Then…ElseIf Select Case is similar to If…Then…ElseIf statements.statements.

The difference is that it evaluates an The difference is that it evaluates an expression once and then compares it to expression once and then compares it to different valuesdifferent values– Makes it more efficient than multiple ElseIf Makes it more efficient than multiple ElseIf

statements statements Type the word ‘Select’ in the code window Type the word ‘Select’ in the code window

and press [F1] for help on the topicand press [F1] for help on the topic

Page 22: Access VBA Programming for Beginners - Class 4 - by Patrick Lasu p_lasu@lycos.com.

Select CaseSelect Case

Syntax:Syntax:Select Case Select Case testexpressiontestexpression

[Case [Case expressionlist1expressionlist1]][[statementsstatements]]

[Case [Case expressionlist2expressionlist2]][[statementsstatements]]

[Case Else][Case Else][[statementsstatements]]

End SelectEnd Select

Pseudo-Code:

Select Case Select Case SalesSalesCase Case >100K>100K

Bonus=10%Bonus=10%Case Case >50K>50K

Bonus=5%Bonus=5%Case ElseCase Else

Bonus=1%Bonus=1%End SelectEnd Select


Recommended