ebook img

Introducing Microsoft Access Using Macro Programming Techniques: An Introduction to Desktop Database Development by Example PDF

611 Pages·2020·38.61 MB·English
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 Introducing Microsoft Access Using Macro Programming Techniques: An Introduction to Desktop Database Development by Example

Introducing Microsoft Access Using Macro Programming Techniques An Introduction to Desktop Database Development by Example — Flavio Morgado Introducing Microsoft Access Using Macro Programming Techniques An Introduction to Desktop Database Development by Example Flavio Morgado Introducing Microsoft Access Using Macro Programming Techniques: An Introduction to Desktop Database Development by Example Flavio Morgado Teresopolis, Rio de Janeiro, Brazil ISBN-13 (pbk): 978-1-4842-6554-3 ISBN-13 (electronic): 978-1-4842-6555-0 https://doi.org/10.1007/978-1-4842-6555-0 Copyright © 2021 by Flavio Morgado This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Joan Murray Development Editor: Laura Berendson Coordinating Editor: Jill Balzano Cover image designed by Freepik (www.freepik.com) Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza, Suite 4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm. com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected]; for reprint, paperback, or audio rights, please e-mail [email protected]. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/9781484265543. For more detailed information, please visit www.apress.com/source-code. Printed on acid-free paper For you, Bia, My love, For all those special moments When the two of us are together We share the best of our lives Table of Contents About the Author �����������������������������������������������������������������������������������������������������xi About the Technical Reviewer �������������������������������������������������������������������������������xiii Acknowledgments ���������������������������������������������������������������������������������������������������xv Introduction �����������������������������������������������������������������������������������������������������������xvii Chapter 1: A Primer on Databases ���������������������������������������������������������������������������1 Types of File Access ����������������������������������������������������������������������������������������������������������������������1 Access Tables vs� Excel Spreadsheets Files ���������������������������������������������������������������������������������2 How to Build a Database ���������������������������������������������������������������������������������������������������������������4 Relational Databases ��������������������������������������������������������������������������������������������������������������������6 Referential Integrity ����������������������������������������������������������������������������������������������������������������������7 Tips to Build a Database from Scratch ������������������������������������������������������������������������������������������8 Creating a Database for Food Intake Control ��������������������������������������������������������������������������������9 Relating the Tables ����������������������������������������������������������������������������������������������������������������10 Microsoft Access Databases �������������������������������������������������������������������������������������������������������12 Tables ������������������������������������������������������������������������������������������������������������������������������������13 Queries ����������������������������������������������������������������������������������������������������������������������������������19 Forms and Reports ����������������������������������������������������������������������������������������������������������������20 Macros �����������������������������������������������������������������������������������������������������������������������������������21 Modules ���������������������������������������������������������������������������������������������������������������������������������21 Naming Conventions �������������������������������������������������������������������������������������������������������������������21 The Microsoft Access Interface ���������������������������������������������������������������������������������������������������23 The Database Window �����������������������������������������������������������������������������������������������������������27 The Relationship Window ������������������������������������������������������������������������������������������������������30 Opening, Closing, and Displaying Database Objects ��������������������������������������������������������������32 Summary�������������������������������������������������������������������������������������������������������������������������������������35 v Table of ConTenTs Chapter 2: Creating and Using Database Tables �����������������������������������������������������37 The Nutritional Database Structure ���������������������������������������������������������������������������������������������38 Creating the Nutritional Database �����������������������������������������������������������������������������������������������39 Using the Datasheet View ������������������������������������������������������������������������������������������������������40 Using Design View �����������������������������������������������������������������������������������������������������������������47 Saving the Persons Table�������������������������������������������������������������������������������������������������������64 Inserting Persons Records �����������������������������������������������������������������������������������������������������65 Creating the PersonsMeals Table ������������������������������������������������������������������������������������������������67 Using a Lookup List for the MealName Field �������������������������������������������������������������������������69 Using the Date/Time Data Type ����������������������������������������������������������������������������������������������78 Inserting PersonsMeals Records �������������������������������������������������������������������������������������������85 Relating the Persons and PersonsMeals Tables ��������������������������������������������������������������������87 Inserting Related Records �����������������������������������������������������������������������������������������������������93 Creating the PersonsMealsFoods Table ��������������������������������������������������������������������������������������95 Relating PersonsMeals and PersonsMealsFoods ����������������������������������������������������������������100 Inserting Related Records for Food Items ���������������������������������������������������������������������������102 Cascading Delete Records ��������������������������������������������������������������������������������������������������������103 Summary�����������������������������������������������������������������������������������������������������������������������������������105 Chapter 3: Creating Queries ����������������������������������������������������������������������������������107 The sr28�accdb Nutritional Database ����������������������������������������������������������������������������������������107 The Relationships Window: A Source for Data Flow ������������������������������������������������������������114 Select Queries ���������������������������������������������������������������������������������������������������������������������������117 Creating Queries with the Query Wizard ������������������������������������������������������������������������������118 Creating Queries Using Design View �����������������������������������������������������������������������������������148 Setting Query Properties �����������������������������������������������������������������������������������������������������167 Total Queries �����������������������������������������������������������������������������������������������������������������������������174 Grouping Records ����������������������������������������������������������������������������������������������������������������175 Statistics Summarizing Records �����������������������������������������������������������������������������������������182 Crosstab Queries �����������������������������������������������������������������������������������������������������������������������183 Setting the Crosstab Column’s Heading Field Order ������������������������������������������������������������188 vi Table of ConTenTs Action Queries ���������������������������������������������������������������������������������������������������������������������������198 Create Table Queries ������������������������������������������������������������������������������������������������������������198 Delete Queries ���������������������������������������������������������������������������������������������������������������������203 Append Queries �������������������������������������������������������������������������������������������������������������������205 Update Queries ��������������������������������������������������������������������������������������������������������������������208 Special Queries �������������������������������������������������������������������������������������������������������������������������210 Special Queries from the Query Wizard �������������������������������������������������������������������������������211 Union Queries ����������������������������������������������������������������������������������������������������������������������214 Summary�����������������������������������������������������������������������������������������������������������������������������������218 Chapter 4: Using Forms ����������������������������������������������������������������������������������������219 Creating a Form ������������������������������������������������������������������������������������������������������������������������219 Using the Form Wizard to Create Forms �����������������������������������������������������������������������������������220 Creating Simple Forms with the Form Wizard ���������������������������������������������������������������������221 Creating Simple Forms with the More Forms Command ����������������������������������������������������225 Creating a Form/Subform with the Form Wizard �����������������������������������������������������������������226 Form view Properties ����������������������������������������������������������������������������������������������������������������233 Using Form Design View �����������������������������������������������������������������������������������������������������������234 The Form Design Window ����������������������������������������������������������������������������������������������������234 Using Layout View to Set Form Properties ��������������������������������������������������������������������������240 Using Form Controls������������������������������������������������������������������������������������������������������������������250 Bound Controls ��������������������������������������������������������������������������������������������������������������������251 Unbound Controls ����������������������������������������������������������������������������������������������������������������253 The Label-Control Association ���������������������������������������������������������������������������������������������254 Naming Conventions Rules for Microsoft Access Controls ��������������������������������������������������256 Common Control Properties ������������������������������������������������������������������������������������������������258 Text Box Control �������������������������������������������������������������������������������������������������������������������259 Combo Box and List Box Controls ����������������������������������������������������������������������������������������278 The Check Box and Option Group Controls ��������������������������������������������������������������������������299 Option Group, Toggle Button, and Option Button Controls ���������������������������������������������������302 SubForm/SubReport Control ������������������������������������������������������������������������������������������������306 Chart Control and Chart Tool ������������������������������������������������������������������������������������������������318 vii Table of ConTenTs A Database in a Form ����������������������������������������������������������������������������������������������������������������346 Summary�����������������������������������������������������������������������������������������������������������������������������������348 Chapter 5: Using Macros ��������������������������������������������������������������������������������������349 The Macro Window Interface ����������������������������������������������������������������������������������������������������350 Using Macro Actions ������������������������������������������������������������������������������������������������������������352 Referring to Forms and Controls in Action Arguments ��������������������������������������������������������355 Dealing with Macro Code Runtime Errors ���������������������������������������������������������������������������359 Tips for Creating Good Macro Code ������������������������������������������������������������������������������������������371 Microsoft Access Form and Control Events ������������������������������������������������������������������������������372 Understanding Form Events Sequence �������������������������������������������������������������������������������373 Creating a Macro with the Aid of a Wizard ��������������������������������������������������������������������������������384 Using a Combo Box Control to Find a Form Record �������������������������������������������������������������384 Using the Command Button Control to Execute Actions ������������������������������������������������������389 The Command Button Control ���������������������������������������������������������������������������������������������395 Creating Your Own Form and Control Events ����������������������������������������������������������������������������405 Using the Form On Timer Event �������������������������������������������������������������������������������������������405 Synchronizing Interface Elements ��������������������������������������������������������������������������������������������411 Synchronizing a Searching Combo Box �������������������������������������������������������������������������������411 Synchronizing a List Box Control �����������������������������������������������������������������������������������������418 Using Temporary Variables ��������������������������������������������������������������������������������������������������430 Synchronizing Independent Forms ��������������������������������������������������������������������������������������438 The frmPopUpNutrients Window �����������������������������������������������������������������������������������������444 Summary�����������������������������������������������������������������������������������������������������������������������������������460 Chapter 6: Using Reports ��������������������������������������������������������������������������������������461 The Report Object Structure �����������������������������������������������������������������������������������������������������461 Setting a Report Section’s Width and Height �����������������������������������������������������������������������463 Report and Section Properties ���������������������������������������������������������������������������������������������464 Report Page Properties ��������������������������������������������������������������������������������������������������������466 Adding Date, Time, Page, and Credit ������������������������������������������������������������������������������������470 Creating a Report Template �������������������������������������������������������������������������������������������������������473 viii Table of ConTenTs Creating Simple Reports �����������������������������������������������������������������������������������������������������������475 Using a Table on the Report’s Record Source Property �������������������������������������������������������475 Report View Properties ��������������������������������������������������������������������������������������������������������477 Sorting Report Records �������������������������������������������������������������������������������������������������������482 Group and Sort Options �������������������������������������������������������������������������������������������������������492 Adding Group Totals �������������������������������������������������������������������������������������������������������������507 Using Group Sorting Options �����������������������������������������������������������������������������������������������518 Numbering Printed Records with the Running Sum Property ���������������������������������������������522 Using Subreports ����������������������������������������������������������������������������������������������������������������������525 Creating a Report from an Existing Form ����������������������������������������������������������������������������528 Inserting a Subreport on a Main Report ������������������������������������������������������������������������������535 Setting the Subreport’s Height Property ������������������������������������������������������������������������������538 Printing Columnar Subreports ���������������������������������������������������������������������������������������������542 Microsoft Access Report Events �����������������������������������������������������������������������������������������������556 Using Macros to Set the Report Records Scope �����������������������������������������������������������������������557 The OpenReport Action ��������������������������������������������������������������������������������������������������������557 Using a Print Form ���������������������������������������������������������������������������������������������������������������559 Using a Dedicated Form ������������������������������������������������������������������������������������������������������564 Printing Labels ��������������������������������������������������������������������������������������������������������������������������574 Report Section Runtime Properties �������������������������������������������������������������������������������������������579 MoveLayout, NextRecord, and PrintSection Properties �������������������������������������������������������580 Putting It All Together ����������������������������������������������������������������������������������������������������������586 Summary�����������������������������������������������������������������������������������������������������������������������������������590 Index ���������������������������������������������������������������������������������������������������������������������591 ix About the Author Flavio Morgado is a food engineer with an MSc. degree in food science and technology, a VBA professional developer, and a professor of epidemiology, statistics, and medical Informatics at UNIFESO, a health sciences university in Rio de Janeiro, Brazil. Flavio has written more than 30 books, including Programming Excel with VBA (Apress) and Microsoft Word Secrets (Apress), and has translated many technical books. He also loves animals and the exquisite nature of the surrounding rainforest, and when he is not teaching, writing, or developing, he can be found running or riding his mountain bike through the Teresopolis Mountains, followed by his eight dogs, or spending time on the stunningly beautiful beaches of Cabo Frio in Rio de Janeiro. xi

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.