ebook img

Microsoft Access VBA Programming for the Absolute Beginner PDF

375 Pages·2006·8.87 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Microsoft Access VBA Programming for the Absolute Beginner

Microsoft Access ® VBA Programming for the Absolute Beginner Second Edition MICHAEL VINE © 2005 by Thomson Course Technology PTR. All rights reserved. No Publisher and GM of Course PTR: part of this book may be reproduced or transmitted in any form or by Stacy L. Hiquet any means, electronic or mechanical, including photocopying, record- Associate Director of Marketing: ing, or by any information storage or retrieval system without written Sarah O’Donnell permission from Thomson Course Technology PTR, except for the inclusion of brief quotations in a review. Marketingg Manager: Heather Hurley The Premier Press and Thomson Course Technology PTR logo and related trade dress are trademarks of Thomson Course Technology PTR and Manager of Editorial Services: may not be used without written permission. Heather Talbot Microsoft and Access 2003 are registered trademarks of Microsoft Cor- Acquisitions Editor: poration in the United States and/or other countries. Mitzi Koontz All other trademarks are the property of their respective owners. Senior Editor: Mark Garvey Important: Thomson Course Technology PTR cannot provide software support. Please contact the appropriate software manufacturer’s tech- Marketing Coordinator: nical support line or Web site for assistance. Jordan Casey Thomson Course Technology PTR and the author have attempted Project Editor: throughout this book to distinguish proprietary trademarks from Scott Harris/Argosy Publishing descriptive terms by following the capitalization style used by the man- ufacturer. Technical Reviewer: Eric Olson Information contained in this book has been obtained by Thomson Course Technology PTR from sources believed to be reliable. However, PTR Editorial Services Coordinator: because of the possibility of human or mechanical error by our Elizabeth Furbish sources, Thomson Course Technology PTR, or others, the Publisher Copy Editor: does not guarantee the accuracy, adequacy, or completeness of any Tonya Cupp information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be par- Interior Layout Tech: ticularly aware of the fact that the Internet is an ever-changing entity. Shawn Morningstar Some facts may have changed since this book went to press. Cover Designer: Educational facilities, companies, and organizations interested in mul- Mike Tanamachi tiple copies or licensing of this book should contact the publisher for CD-ROM Producer: quantity discount information. Training manuals, CD-ROMs, and por- Keith Davenport tions of this book are also available individually or can be tailored for specific needs. Indexer: Nancy Fulton ISBN: 1-59200-723-6 Library of Congress Catalog Card Number: 2004114910 Proofreader: Printed in the United States of America Jan Cocker 05 06 07 08 09 BH 10 9 8 7 6 5 4 3 2 1 Thomson Course Technology PTR, a division of Thomson Course Technology 25 Thomson Place Boston, MA 02210 http://www.courseptr.com Acknowledgments W riting any book is not easy, especially a technical programming book. It takes many great, patient, and talented people to write, edit, design, market, finance, and produce a book and accompanying CD-ROM. Without the publishing assistance of Mitzi Koontz, Scott Harris, and Tonya Cupp, it would be impossible for me to share with you my knowledge of programming in such a professional and fun manner. I’d like to thank a good friend, Eric Olson, who ensured the technical accuracy of this book. Thanks Eric! Now that the book is done, let’s go fishing! Beyond the technical and business workings of creating a book, the Author must be fed, loved, and encouraged. Without the support of my beautiful wife Sheila, this would never have happened. Thanks baby: I love you! About the Author M ichael Vinehas taught computer programming, Web design, and database classes at Indiana University/Purdue University in Indianapolis, IN, and at MTI College of Business and Technology in Sacramento, CA. Michael has over 13 years of experience in the information technology profession. He currently works full time at a Fortune 100 company as an IT Project Manager overseeing the development of enterprise data warehouses. Contents Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Access Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Chapter 1 Getting Started with Access 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Migrating to Access 2003. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Your First Access Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Creating an Access Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Tables and Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Common Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Hungarian Notation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Bound Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Startup Forms and Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Getting Help with Access 2003. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Introduction to Access VBA . . . . . . . . . . . . . . . . . . .35 Chapter 2 The Event-Driven Paradigm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Object-Based Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 The VBA IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Introduction to Event Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Introduction to VBA Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Accessing Objects and Their Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 The Forms Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 The Me Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Assignment Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Command and Label Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Getting User Input with Text Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Variables and Beginning Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Variable Naming Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Variable Scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Option Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 viii Access VBA Programming for the Absolute Beginner, Second Edition VBA Arithmetic and Order of Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Chapter Program: Fruit Stand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Chapter 3 If Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Nested If Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Compound If Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Select Case Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Message Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Input Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Common Controls Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Option Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Option Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Toggle Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Chapter Program: Hangman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Looping Structures . . . . . . . . . . . . . . . . . . . . . . . . . . .97 Chapter 4 Introduction to Looping Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Do While. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Do Until. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Loop While. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Loop Until. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 List and Combo Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Adding Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Removing Items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Managing Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Chapter Program: Math Quiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Functions Continued . . . . . . . . . . . . . . . . . . . . . . . . .121 Chapter 5 String-Based Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 UCase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 LCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Len . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Contents ix StrComp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Mid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 InStr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Date and Time Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Day. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 WeekDay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Year. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Second. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Minute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Hour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Conversion Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Val. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Str. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Chr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Asc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Formatting Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Formatting Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Formatting Date and Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Chapter Program: Secret Message. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Code Reuse and Data Structures . . . . . . . . . . . . .147 Chapter 6 Code Reuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Introduction to User-Defined Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Subprocedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Function Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Arguments and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Standard Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Single-Dimension Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Two-Dimensional Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Dynamic Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Passing Arrays as Arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 x Access VBA Programming for the Absolute Beginner, Second Edition User-Defined Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Type and End Type Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Declaring Variables of User-Defined Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Managing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Chapter Program: Dice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Debugging, Input Validation, Chapter 7 File Processing, and Error Handling . . . . . . . . . .181 Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Stepping Through Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Immediate Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Locals Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Watch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Input Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 IsNumeric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Checking a Range of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 The Err Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 The Debug Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 File Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 About Sequential File Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Opening a Sequential Data File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Reading Sequential Data from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Writing Sequential Data to a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Closing Data Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Error Trapping for File Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Chapter Program: Trivial Challenge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Microsoft Jet SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 Chapter 8 Introduction to Jet SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Data Manipulation Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Simple SELECT Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Computed Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Built-In Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Sorting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Contents xi Grouping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Joins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 INSERT INTO Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 UPDATE Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 DELETE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Data Definition Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Creating Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Altering Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 DROP Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Database Programming with ADO . . . . . . . . . . . .239 Chapter 9 ADO Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Connecting to a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Working with Recordsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Introduction to Database Locks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Introduction to Cursors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Retrieving and Browsing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Updating Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Adding Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Deleting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Chapter Program: Choose My Adventure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Object-Oriented Programming Chapter 10 with Access VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277 Introduction to Object-Oriented Programming. . . . . . . . . . . . . . . . . . . . . . . . . . 277 Creating Custom Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Working with Class Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Property Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Method Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Creating and Working with New Instances . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Working with Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Adding Members to a Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Removing Members from a Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Accessing a Member in a Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 For Each Loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Chapter Program: Monster Dating Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 xii Access VBA Programming for the Absolute Beginner, Second Edition Microsoft Office Objects . . . . . . . . . . . . . . . . . . . .303 Chapter 11 Introduction to Microsoft Office Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Assistant Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Balloon Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Command Bars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 CommandBarControl Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 CommandBarButton Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 FileDialog Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Chapter Program: Animated Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Introduction to Data Access Chapter 12 Pages and Access Security . . . . . . . . . . . . . . . . . . .325 Introduction to Data Access Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Creating Data Access Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Adding Group Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Publishing Data Access Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Introduction to Access Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Activating Logon Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Enabling User-Level Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Connecting to a Workgroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Securing Access from Data Access Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Common Character Codes . . . . . . . . . . . . . . . . . . .349 Appendix A Keyboard Shortcuts for the Code Window . . .351 Appendix B Trappable Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . .353 Appendix C Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.