Download presentation
Presentation is loading. Please wait.
Published byGregory Barber Modified over 9 years ago
1
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 1 Enhancing User Interaction Through Programming Chapter 7 “I like thinking big. If you’re going to be thinking anything, you might as well think big.” —Donald Trump
2
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 2 Chapter Introduction Visual basic for applications (VBA) Fully customize and automate a database Perform more complex validity Use functions and actions not available with macros
3
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 3 Tools Covered in This Chapter Assignment statement Breakpoints Code window DateDiff function DateSerial function Debug DoCmd statement
4
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 4 Tools Covered in This Chapter (continued) If statement Immediate window Northwind sample database Variables Visual basic editor Watches window
5
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 5 Level 1 Objectives: Writing Visual Basic for Applications Code Design create and test a subroutine in a standard module Design create, and test an event procedure Analyze decisions using procedures Design create, and test a function in a standard module
6
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 6 Understanding Visual Basic for Applications Programming language for Microsoft Office programs Including Access Common syntax and set of common features for all Microsoft Office programs Features unique for each Microsoft Office program Use programming language Write set of instructions to direct computer to perform specific operations in specific order
7
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 7 Understanding Visual Basic for Applications (continued) Coding Statement Event-driven language Object-oriented language
8
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 8 Event-Driven Programming Event State condition or occurrence that Access recognizes Has associated event property Appear in property sheet for forms reports, and controls Create group of statements using VBA code Set event property value to name of that group of statements Event procedure
9
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 9 Frequently Used Access Events
10
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 10 Frequently Used Access Events (continued)
11
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 11 Common Events for Selected Controls
12
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 12 Coding VBA Types of procedures Function procedures Performs operations Returns value Accepts input values Can be used in expressions Sub procedures Performs operations and accepts input values Does not return value Cannot be used in expressions
13
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 13 Coding VBA (continued) Module Group of related procedures Starts with declarations section One or more procedures Basic types of modules Standard modules Database object stored in memory Use from anywhere in database Class modules Usually associated with particular form or report
14
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 14 Coding VBA (continued) Public procedure More than one object can use Local procedure or a private procedure Only the form or report for which class module created can use event procedure
15
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 15 Creating a Subroutine in a Standard Module Replace macros with VBA procedures Some tasks cannot be performed with VBA AutoKeys AutoExec
16
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 16 Creating a New Standard Module Click modules tab Click new button Begin new procedure in module Click list arrow on insert module button Click procedure Type name Select options
17
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 17 Creating a New Standard Module (continued) Visual Basic Editor Create and modify VBA code Visual Basic window Program window that opens within VBE Code window Window to create modify and display specific VBA procedures Can have as many code windows open as modules in database
18
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 18 Creating a New Standard Module (continued) Sub statement Ends with end sub statement Includes Scope of procedure Name of procedure Opening and closing parenthesis Option compare statement Designates technique access uses to compare and sort text data
19
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 19 Creating a Subroutine Type statements in procedure between Sub and End Sub statements DoCmd statement Executes action in procedure Access object Method Action that operates on specific objects or controls
20
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 20 Creating a Subroutine (continued) Comment Include anywhere in VBA procedure Describe what procedure or statement does Make it easier for programmers to identify purpose of statements Begin comment with Word Rem (for “remark”) Or single quotation mark (') Appear green in code window
21
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 21 Creating a Subroutine (continued) Line label Statement that serves as starting point for block of statements in procedure Begins at start of line and ends with colon Underscore character at end of line Statement continues to next line Run procedure Click Run Sub/Userform button Saves module Click Save button
22
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 22 Creating an Event Procedure
23
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 23 Designing an Event Procedure Associate procedure with form’s On Current event property Triggered when form’s Current event occurs Occurs when focus moves to record Add event procedure Open property sheet for form Click On Current text box Click list arrow Click [event procedure] Click Build button to right of On Current text box
24
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 24 Making Decisions Using the If Statement Decision-making statement Executes group of statements based on outcome of condition
25
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 25 Making Decisions Using the If Statement (continued) If statement Tests condition follows one of two paths depending on outcome of condition General form If condition Then True-statement group [Else False-statement group] End If
26
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 26 Making Decisions Using the If Statement (continued) Assignment statement Assigns value of expression to control or property Example EstSalary.ForeColor = vbGreen ForeColor property Color constants Predefined VBA names Have values that represent system color value
27
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 27 Comparison Operators and How to Use Them in Conditions
28
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 28 Making Decisions Using the If Statement (continued) IsNull function returns True value when field or control null False when not
29
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 29 Testing an Event Procedure Switch to form view Navigate through records Make sure results correct in different situations
30
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 30 Creating a Function Similar calculation requests Create function to perform calculation Function Begins with Function statement Ends with End Function statement
31
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 31 Variables Named location in computer memory Can contain value Use to store and retrieve data Reference using variable name assigned to location Holds only one value at a time
32
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 32 Variables (continued) Naming rules Must begin with letter Cannot exceed 255 characters Include letters numbers and underscore character Cannot use space, punctuation, or special characters Cannot be same as keywords or reserved words Each variable has data type
33
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 33 Common VBA Data Types
34
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 34 Using Functions Similar to way built-in functions used Call function Function name followed by argument(s) Commas separate multiple arguments DateDiff function Calculates number of time intervals between two dates
35
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 35 Testing a Function in the Immediate Window When statement entered Editor checks statement to make sure syntax correct Logic error Occurs when procedure produces incorrect results Immediate window Test VBA procedures without changing data in database Enter different values to test procedure
36
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 36 Testing a Function in the Immediate Window (continued) Immediate window Type keyword “print” or question mark (?) Followed by procedure name and argument values to test in parentheses and separated by commas DateSerial function Returns date value for specified year, month, and day
37
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 37 Level 1 Summary VBA Programming language for Microsoft Office programs Create procedures in module Event-driven programming Program statement execution triggered by events If statement Used to make decisions Function Returns a value
38
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 38 Level 2 Objectives: Using Custom Functions and Verifying Data Design create and test a custom function in an event procedure Use ElseIf and If statements Verify data using event procedures Use the Case control structure
39
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 39 Enhancing an Event Procedure to Use a Custom Function Add and change statements in a procedure Open object that contains event procedure in Design view Click Code button on toolbar Add new procedure module or class module Click Insert on menu bar Click Procedure, Module, or Class Module Edit existing statements Scroll code window to desired statement Make necessary changes Press Save button on Standard toolbar
40
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 40 Using an ElseIf Statement in an If Statement Date function Returns current computer system date ElseIf statement Equivalent to Else clause followed by If statement Choice of which If statement version used Matter of personal preference Arranging order of condition testing Order of condition testing critical Place conditions in order from least inclusive to most inclusive
41
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 41 Comparing an ElseIf Clause to an Else…if Clause
42
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 42 Using an ElseIf Statement in an if Statement (continued) Dim statement Declare variables and associated data types in procedure
43
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 43 Verifying Data with VBA Before Update event Occurs before changed data in control or record updated in database Use to verify entered data
44
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 44 Designing the Field Validation Procedure to Verify Zip Codes Cancel As Integer Defines Cancel as parameter with Integer data type For some events access executes attached event procedure before performing default behavior Can cancel default behavior in event procedure or macro Using Cancel parameter Left function Returns string containing specified number of characters from left side of specified string
45
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 45 Designing the Field Validation Procedure to Verify Zip Codes (continued) Val function Returns numbers contained in specified string as numeric value
46
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 46 Using the Case Control Structure Control structure Set of VBA statements work together as a unit Case control structure Evaluates expression Performs one of several alternative sets of statements Based on resulting value (or condition) of evaluated expression Use Case Else statement as last Case statement Include false-statement group
47
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 47 Using the Case Control Structure (continued) CancelEvent action Cancels event that caused procedure or macro containing action to execute Me keyword Refers to current object Undo Method that clears all changes made to current record SetFocus Moves focus to specified object or control
48
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 48 Testing the Field Validation Procedure to Verify Zip Codes Switch to form view to test validation procedure Using event procedure for control or form Before Update event for each control on form Need two or more fields as part of validation process Use form’s Before Update event Disadvantage All changes made to record undone
49
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 49 Designing the Field Validation Procedure to Verify Phone Area Codes Message can suggest potential error Must accept any phone area code entry
50
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 50 Level 2 Summary ElseIf statement Verify data using VBA
51
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 51 Level 3 Objectives: Testing and Exploring VBA Troubleshoot problems in VBA procedures Compile modules Develop sources for learning VBA Explore completed modules in the Northwind sample database
52
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 52 Troubleshooting VBA Procedures Syntax error Occurs when VBA statement violates language rules for statement such as Misspelling Incorrect sequence of keywords Missing parenthesis Detected immediately when statement completed Error message opens and explains error
53
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 53 Syntax Error Message
54
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 54 Troubleshooting VBA Procedures (continued) Compilation error Occurs when procedures translated into form computer can understand Compilation Process of translating modules from VBA to form computer understands
55
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 55 Troubleshooting VBA Procedures (continued) Prevent compilation errors at run time Use Compile command on Debug menu Compile as last step before saving module Execution error or run-time error Occurs when procedure executes and stops because it tries to perform operation that is impossible to perform
56
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 56 Using the Debugger to Correct Errors Breakpoint Run subroutine or function up until line on which breakpoint set Procedure halts execution at point and displays module screen Good way to isolate place at which procedure stops producing anticipated result
57
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 57 Using the Debugger to Correct Errors (continued) Use mouse pointer to get more information about procedure Pointing to variable name displays ScreenTip with value contained in variable at point that procedure halted Execute procedure one statement at a time Try and identify cause of error Click Debug on menu bar Click Step Into
58
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 58 Using the Debugger to Correct Errors (continued) Step Into Procedure executes next statement and stops Step Out Executes current subroutine or function and then halts Reset button Stops debugger so you can fix problem
59
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 59 Identifying Errors Using the Watches Window Watches window Shows current value of specified variable Add Watch dialog box Enter variable name to watch “ ” in value column Appears for watch expression When access not executing procedure that contains watch expression
60
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 60 Add Watch Dialog Box
61
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 61 Building Procedures Slowly to Isolate Problems Prevent problems in procedures Build them slowly using small groups of statements Prove them to be correct as you go
62
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 62 Exploring VBA Powerful but complicated language Takes time to learn Know what resources available
63
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 63 Using the Northwind Sample Database Very efficient to reuse code included in different modules Sample Northwind database Installed with access Study existing procedures Load by clicking help on menu bar in access Point to sample databases Click Northwind sample database Contains variety of simple and complex VBA procedures
64
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 64 Using Help to Learn More About Programming and VBA Access Help contains valuable information about VBA Reading individual topics gives excellent background Search results list Sample code for situations
65
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 65 Visual Basic Help Table Of Contents
66
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 66 Level 3 Summary Errors Syntax Compilation Execution or run-time Debugger Use to find and correct errors Help Learn more about VBA
67
XP Chapter 7 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 67 Chapter Summary VBA Programming language for Microsoft Office applications Decision structures If ElseIf Case Develop subroutines Use debugger to find errors
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.