• Home ~ All The Online Articles
  • Latest Posts
  • Editorials
  • Search
    • Index Word Search
  • Buy the Smart Access PDFs and Downloads
  • Pages to link and add to RSS and twitter
  • 2012
    • MS Access Time Control
    • Drag and Drop in Access
    • Making Your Access Reports Dynamic
    • Working out the size of objects
    • Exporting and Recovering Programming Objects
    • Exportiing all tables to text
    • Field Index Gotchas
    • Drop Box for MS Access
    • Drop Box - File Transfers
    • Secure Microsoft Access Passwords and Encryption in Access 2007
    • Setting Up A Scatter ( XY ) Graph In Microsoft Access
  • 2009 ~ The Toolbox
    • Outlook Synchronizing and Internet Maps in the Access 2007 Contacts Template
    • Outlook Linked Tables and a Flutter On The Stock Market
    • Creating Charts/Graphs in an Access 2007 Database
    • Making Your Own Access 2007 Ribbon
    • SharePoint and Access - Getting Started and Motivated
    • Use Access 2007 to Get Started in Data Mining
    • Searching For Text Anywhere In A Database
    • Focus on Popular Objects to Speed up an Access 2007 Database
    • Setting Up Right Click Menus for Access 2007
    • Preparing To Upgrade Access Tables to SQL Server 2005/2008
    • IIF Queries
    • Tip: Date Picker
    • Data Mining
    • Data Mining2
    • Cleaning Up An Access Database
    • Seven Handy Hints For Combo And List Boxes In Access
  • Project Management & Data Modelling
    • Data Modeling for the Access Newcomer, Part 1
    • Data Modeling for the Access Newcomer, Part 2
    • An Access Project, Part 1: Requirements
    • An Access Project: Data Modeling
    • Working in the Real World
    • Data Modelling with Access and Visio
    • The ABCs of Requirements Management for Access
    • Learn to Use "Relationship" and "Normal" in the Same Sentence!
    • The Trouble with Normal
    • Parts 2-5 Normalization and Management Advice
  • Tables
    • What's in a Table?
    • Managing Lookup Tables
    • Managing State Transitions
    • Using List Regions with Many-to-Many Relationships
    • Decomposing a Badly Designed Table
    • I've Got Plenty of Nothing
    • Renaming Tables - and SQL Linked Tables
  • Queries
    • Consolidating Your Data With Queries
    • Simplifying Complex SQL
    • All in the Family
    • Simplifying Queries
    • Subquery Notes
    • Tame the Crosstab Missing Column Beast
    • Computing the Median (Again)
    • Give Me a Call
    • Tricky Queries
    • Query-Based Applications
    • Access Subquery Techniques
  • Forms and Menus
    • Flexible Normalization and Denormalization of Data
    • Explorer Forms with a Single Keystroke
    • Dynamic Menus
    • Conditional Formats on Access Forms
    • Eventful Formatting for Access Forms
    • Positioning a Record on a Form
  • Sub Forms
    • Zoom, Zoom, Zoom
    • Let Your Users Sort it Out
    • Accessing Subforms
    • Undo in Sub Forms
    • Control Your Subforms
    • The Sub-SubForm Youve Always Wanted
  • $ The things that we sell $
  • List and Combo Boxes
    • Let me check my list…
    • Tricks With Combo Boxes
    • Drilling with Combo Boxes
    • Creating Paired Listbox Controls
    • Paired Listbox Controls, Part 2
    • Use Classes to Enhance List and Combo Boxes
    • Your Listbox-Filling Options
    • Get More From Your List Boxes
    • Persistent Caching Of Combo Boxes etc
  • Access Controls
    • Handling groups of controls
    • We Get Letters
    • Dynamic Checklists
    • Managing Margins Of Text Box and Label Controls
    • Alternative Buttons
    • From Zoom Box to Custom Dialog
    • Validate input such as ZIP codes and postal codes
    • Giving Your Access Form Controls Web-style Behaviors
  • Reports
    • Two Things You Didn't Know You Could Do With Reports (and More!)
    • Reports: Multiple Columns and Subreports
    • Creating a Great Report
    • Dynamic Grouping In Reports
    • Dot Leaders and Table Of Contents Reports
  • Pivots and Charts
    • Easy as Pie
    • Create Dynamic Chart Applications
    • Programming Pivot Tables for Access Forms
    • Analyze Your Data in Space
    • Business Intelligence
    • PivotTables in Access
  • Word, Outlook and Excel
    • Excelling Automatically
    • Build Word 2003 Docs with XML
    • Excellent Analysis
    • Find out about Word
    • Consolidating Outlook Contact Data
    • Manipulating Outlook Data from Access
    • Use Excel to Analyze and Graph Access Data
    • Notes On Moving To Exchange In The Cloud
    • Getting Data From Access Into Excel
  • Installation, Setup and UI
    • Remote Updates of a Back-End Database
    • Extracting Your Access Configuration
    • Using the Access 2003 Database Window
    • Click Savers - Command bars
  • Performance
    • Access Database Performance
    • Is The Query Compiled?
  • Protection and Security
    • Microsoft Access Passwords, Workgroups and ADO
    • Real-World Access Security
    • Dual Control
    • Encrypt Your Data
    • Restricting Who Can Use Your Database
    • MDE / ACCDE - The gold standard
    • Manually Changing Startup Options
  • Managing Quality, Bugs and Errors
    • Logging Access Startup Details and Version Control
    • Playing Tag with Validation
    • Access Answers: But it Worked Yesterday!
  • User Interface and Documentation
    • Access User Interface Design
    • Six Rules for Effective User Interface Design
    • Handling Visual Complexity
    • Cuing Banners
    • Access Application Development Documentation
    • The Form’s the Thing
    • Implementing Proactive User Assistance
    • Access Answers: Talk to Me
    • Access Interfaces: Handling Price Ranges
  • Imports, Exports and XML
    • Access 2003 and XML
    • Put XML to Use in Access 2002
    • Save Yourself Some Work
  • Dates and Time
    • About Time
    • Stupid Date Tricks
    • Fuzzy Dates
    • When DateAdd Doesn't
    • Working All Day - Weekends
    • Did Someone Say Holiday
    • Access Developer Needs a Date
  • VBA
    • Preventing Reference Failures
    • Handling Print Layout
    • Two Functions You Don't Use Enough
    • An Average Column: I Mean, What Mode is Your Median
    • More Dragging Around
    • Convert Embedded Macros
    • Dealing with File Names
    • The FileSystemObject
    • Accessing Spatial Data, Part 1
    • Accessing Spatial Data, Part 2
    • Accessing Spatial Data, Part 3
    • Invisible Forms Revisited: Park Your Global Values Here
    • Peter Comes to Bat
    • Hide Your Input, and it’s Pretty Common
    • User Preferences, Toggles, and Rocket Science
    • Handling Quotations
    • Save VBA code to text
  • DAO
    • Everything About Using Parameters from Code
    • Embedded quotes in SQL statements
  • ADO
    • Active Data Objects
    • An ADO Tutorial: What is ADO?
    • An ADO Command Factory for Stored Procedures
    • Using the ADO Command Object
    • Advanced Data Shaping
  • SQL Server and Access
    • An Access Explorer for SQL Server Tables
    • Working with or without a DSN
    • Using Access to Prototype for SQL Server
    • Client/Server Issues
    • Migrating Access (and Outlook Data) to SQL Server
    • Access Data Projects - ADP
      • Access 2002 Data Projects for Developers
      • Using Stored Procedures in ADPs
      • Constructing a SQL Parameter Add-in
      • Creating SQL Server Tables with Access Projects
      • Converting an ADP to a MDB
  • Windows Controls and Message Boxes
    • Making Your Applications Talk
    • I've Just Got to Get a Message to You
    • Displaying Hierarchical Data in a TreeView
    • Taming the Treeview Control
    • Access Interfaces: Building Explorer-style Forms
    • File Open Dialog Options
    • Want Machine Information
  • Print or Bookmark This Site
  • Authors
    • Peter Vogel
    • Paul Litwin
    • Garry Robinson
      • Five Questions to Garry
    • Doug Steele
    • Russell Sinclair
    • Mike Gunderloy
    • Ken Getz
    • Danny Lesandrini
    • Dave Irvine
    • Glenn Lloyd
      • Let's Split
      • Date Stamp Access Records
    • Andy Baron
    • Mary Chipman
    • Michael Corning
    • Rick Dobson
    • Helen Feddema
    • George Hepworth
    • Tobi Hoffman
    • Doug Den Hoed
    • Duane Hookom
    • Michael Kaplan
    • Frank Kegley
    • Julianne Lee
    • Rickard Olsen
    • Rebecca Riordan
    • Burton Roberts
    • David Saville
    • Sanjay Singh
    • Stuart Kinnear
    • Scott McManus
    • Martin Reid
    • Armen Stein
    • John Viescas
    • Art Walls
    • Karen Watterson
    • Chris Weber
    • Andrew Wrigley
    • Ann Zeigler
  • Gold Collection
    • Apr-2006
    • Mar-2006
    • Feb-2006
    • Jan-2006
    • Dec-2005
      • A Classy Interface for Microsoft Excel
    • Nov-2005
    • Oct-2005
      • Precision Matters
    • Sep-2005
      • Breadcrumbs, or How I Learned to Love the Switchboard
      • Collecting Internet Favorites
      • EyeWitness Testimony
    • Aug-2005
      • Objects for the Database Developer
      • These Are a Few of My Favorite Things
    • Jul-2005
      • Our Access
      • Managing Access from .Net
    • Jun-2005
      • Architecture
    • May-2005
      • Building an Access Add-In with Dot Net
      • Quality
    • Apr-2005
      • Negotiation
      • Soundex: "Close" Only Counts in Horseshoes
    • Mar-2005
      • Service-Oriented Access
      • With Friends Like These
      • Getting More Out of Access 2003 Help
    • Feb-2005
      • Scenarios
      • Book Review: Grover Park George on Access
      • Single Sourcing Your Help
    • Jan-2005
      • Access 2006 The Community Speaks
      • Extending Access Reports with Word and HTML
      • Does This File Register with You
    • Dec-2004
      • Forgive Me, I Have Sinned
      • Do More for Less
      • Product Review: SageKey MSI Wizard
      • Making the Grade
    • Nov-2004
      • Product Review: Access 2003 Conversion Toolkit
      • Definition of Insanity
      • Visual Basic .NET Development
      • Access Answers: Sounds Good to Me
    • Oct-2004
      • Using FTP from Access Applications
    • Sep-2004
      • Access Interfaces: User Configuration
      • Sending E-mail with Access
      • Access Traps for the Naïve Developer
    • Aug-2004
      • Access 2006—Have Your Say
    • Jul-2004
    • Jun-2004
      • Communication
      • Access Answers: Shortcuts, Quotes, and What Have I Done?
    • May-2004
      • Spam Killers
      • How to Avoid an Access 2003 Sandbox Storm
      • The AutoExec Macro
    • Apr-2004
      • Who’s the Bad Guy, Part 2
    • Mar-2004
      • How can I change the size of the checkbox on my form
      • Check, Please and Procedures in the Event of Problems...
    • Feb-2004
      • Improving Data Entry Feedback with Sound
      • Sounding Off
    • Jan-2004
      • Who’s the Bad Guy?
      • Custom Sort Orders
  • Silver Collection
    • Dec-2003
      • The ABCs of Bulk E-mail
    • Nov-2003
      • Editorial: The Future of Jet?
      • Outputting Flexible Data
      • Doing Two Things at Once
      • Web Service Wannabes
    • Oct-2003
      • Packaging Access 2003 Solutions
      • How to Pad Access Reports With Blank Rows
    • Sep-2003
      • Access 2003 and Windows SharePoint Services
      • Summer Reading: A Book About Me
      • Creating Spreadsheets Without Excel
      • The Access Developer's Bookshelf
      • Product Review: Questica Query Dependencies
    • Aug-2003
      • Send Data Without Attachments!
      • Staying Alive
    • Jul-2003
      • Competitive Advantage
    • Jun-2003
      • XML and Relational Databases
      • Replace Your File API’s With The FileDialog Object
    • May-2003
      • Access: The .NET Report Writer
      • Looking at .NET with T-SQL
    • Apr-2003
      • Your Future
    • Mar-2003
    • Feb-2003
      • Navigation Through Recursion
      • Coming Next: Access 11
      • Combining Tables using Union Queries
    • Jan-2003
      • So Here’s My Plan
    • Dec-2002
      • And The Good News Is
    • Nov-2002
      • Moving to the Web
      • “Just-In-Time” Queries
    • Oct-2002
    • Sep-2002
      • Access and .NET
    • Aug-2002
      • Access, Office, and .NET
      • FMS Total Visual Code Tools 2002
    • Jul-2002
      • Not For Null
      • Taking Outlook and XML to Task
    • Jun-2002
      • Iron Rules
    • May-2002
      • The Problems with Success
    • Apr-2002
      • Review ~ FMS Access Speller 2000+
      • Toys, Changes, Skills
    • Mar-2002
      • Moving ADP's Between Machines
      • Its Time
      • Complex Report Selection
    • Feb-2002
      • Auto-Generated Update SQL
    • Jan-2002
    • Dec-2001
      • Saving Reports is a Snap
      • Jargon
    • Nov-2001
      • ADO.Net Revolution: Data Adapter
      • FMS Total Access Analyzer 2000
      • Tip: Leave Me Open
    • Oct-2001
    • Sep-2001
      • User Interface Standards
      • Eyewitness Testimony
    • Aug-2001
      • Manage your Update Tables with Query Lists
      • In My Craft or Sullen Art
    • Jul-2001
      • Connections
    • Jun-2001
      • Access 2002/XP for Developers
    • May-2001
      • Changes
    • Apr-2001
      • Improving on VBA with Transact-SQL
      • Moving to SQL Server
    • Mar-2001
      • An Access E-mail Application
      • We Get Mail
    • Feb-2001
      • Everything About AutoNumbers
      • You Can Do That with Datasheets?
    • Jan-2001
      • Everything Doesn't Happen at Once: Loosely Coupled Events
      • Access Applications
    • Dec-2000
      • Graph to GIFs and Powerpoint
      • Faith
      • System Tables, Mixing Versions
      • Closing All Forms
      • Tip: ListBox Bug in Access 97
      • Tip: Warning: Boxes and Control Tips
      • Querying a Customer Survey Table
    • Nov-2000
      • Accessing the Internet
      • Tip: Retrieve Folder Names
    • Oct-2000
    • Sep-2000
      • Bad News
    • Aug-2000
      • The Jet 4.0 Exchange/Outlook IISAM
    • Jul-2000
      • Plus Ca Change
    • Jun-2000
      • Access 2000 - An Opinion
    • May-2000
      • Whining
    • Apr-2000
      • The No-Problem Problem
      • Stored Procedure tricks
      • Effective User Manuals
    • Mar-2000
      • Solve Installation Problems with SageKey
      • On the Road Again
      • Advanced ADO Data Providers
    • Feb-2000
      • Getting Better
      • Creating an ADO Data Provider
    • Jan-2000
      • Taking an Inventory
      • Design Schemes–An Access Add-in
  • Bronze Collection
    • Dec-1999
      • Build Your Own Wizard User Interface
      • Managing Your Portfolio
      • Tip: Easy ComboBox Dropdown
    • Nov-1999
      • Four Ways to Merge to Word
      • Editorial: You've Got to Have Friends
      • Tip: When is Modal Not Modal?
    • Oct-1999
      • Using the ADO Objects Effectively
      • What’s an Expert?
    • Sep-1999
      • Tip: Auto Spellcheck
      • System Tables, Groups and Bitmasks
      • Helping Out
      • Effective SQL for Scheduling
      • Tip: Retrieving Folder Paths from the Registry
      • Tip: Identifying Reports
      • A Pair of Table Problems
    • Aug-1999
      • Client/Server Development with Access
      • Trolling for Articles
      • DAO verses ADO - DAO isn't Done Yet
      • Comparing DAO and ADO Recordsets
    • Jul-1999
      • Active Development
      • Import Outlook Data into Access
      • Images, Automatic HTML, Tables etc
      • Tip: A Simpler Menu Manager
      • Create and Alter Tables In Access
    • Jun-1999
      • Forms, Sorting Reports, and Dating Errors
      • Tip: Custom Sorting
      • Choosing Directories: Harder Than It Sounds
    • May-1999
      • Persistent Recordsets in ADO
      • It's Good to Have Friends
      • Exploiting the Query Manager
      • ActiveX Controls and Forms
    • Apr-1999
      • AdHoc Report Builder
      • We'll All Hang Together
      • EZ Report Manager
      • Menu Manager
      • Tip: Shortcuts for Symbols
    • Mar-1999
      • Managing Change
      • Access to XML
      • The Easy Approach to Code Reuse
    • Feb-1999
      • Accessing ADO
      • We Interrupt Our Regular Broadcasting
      • One Huge Leap Toward SQL Server
      • Introducing the TSI Synchronizer Object
      • Access World News - Whats New in Access 2000
    • Jan-1999
      • Using Dynamic External Event Procedures
      • Career Advice
      • Keeping up Appearances
    • Dec-1998
      • Programming WithEvents
      • The Future Of Access
      • Objects for the Database Developer
      • Automating Table Reattachments
      • Access Replication
    • Nov-1998
      • Bugs and Quality
      • An Access Control Panel, Part 2
      • SQL Discrepancies, List Boxes, and Still Trying to Get a Date
    • Oct-1998
      • Building a Better Access Resource
      • Data Modeling for Access Developers
      • Case Study: Configuring Data
      • Bar Code Basics
      • Say UNC, API Calls, {CAPSLOCK}, and Time
    • Sep-1998
      • Building an Access Control Panel
      • Three Steps to Disaster
      • Properties Without Fear
      • Wizards, Part 3: Your First Wizard
      • Case Study: Researching Data
      • Undocumented Features, Subforms, and More
    • Aug-1998
      • Exploring Your Data Visually
      • Whose Data is it, Anyway?
      • The PrivDBEngine Object
      • Wizards, Part 2: Property Builders
    • Jul-1998
      • Taming the Century Beast
      • Late and Early
      • Preparing Access 2.0 for Y2K
      • Menu Add-Ins Part 1
      • Network Utilities
      • Right Clicks and Numbers
      • Subforms
    • Jun-1998
      • Saving Time Using Date/Time Functions
      • Vandals, Viruses, and Moral Decisions
      • Query Queries
      • A Day in the Life of Microsoft Developer Support -- Part 1
      • Template Your Error Handling
      • Electronic Commerce, Part 2
      • Tip: Access Form Screen Shot
      • Tip: Growing Lines
    • May-1998
      • Learning to Share
      • A Movable Feast
      • Working with Attached Tables
      • Tip: Symbolically Yours
      • Tip: dbFailOnError Rollback
      • Electronic Commerce, Part 1
      • Tip: Vertical Line in Detail Sections
      • Printers, Disks, and Controls
    • Apr-1998
      • An ADO/ASP Tutorial
      • Old Lamps for New
      • Putting Subqueries to Use
      • Document Procedures Separately
    • Mar-1998
      • Silence
      • Creating Histograms Using Access
      • Naming Conventions
      • Labels on Demand
      • Track Your System File Versions
      • Tip: Controlling Access to the Database Window
    • Feb-1998
      • Searching Access
      • It's a Grand Life if You Don't Weaken
      • Developing a Certified Access Study Guide
      • Security, Replication, and No Automation
      • Tip: Link with UNC
      • Access World News
    • Jan-1998
      • Access the PalmPilot Using Pendragon Forms
      • I'm Just Too Busy
      • Forms and Wizards
      • Align With Style
    • Dec-1997
      • Coming Attractions
      • Cross-Reference Your Tables and Fields
      • Tip: AutoExecuting Functions
    • Nov-1997
      • Knowledge is Power
      • Access MVP Solutions to Your Biggest Problems
      • Tip: When 8 is Not Enough
      • Tip: Default Value Magic
    • Oct-1997
      • Is Programming Enough?
      • Tip: Type Code Quicker
      • Getting in Line
      • The Return of Access Answers
      • Tip: Are You Deviant?
      • Tip: Associate Labels With Controls
      • Tip: Like, You Know
    • Sep-1997
      • The Future of Data Access
      • Which to Choose
      • The Perfect Balance
      • Tip: Easily Display Properties
      • Tip: Exploring Compacting
      • Blast Off with ODBCDirect
      • Updating RDO
      • Tip: Don't End Any Field Name with "desc"
      • Tip: Getting the Math Right
      • Tip: Controlling Time
    • Aug-1997
      • Publishing Active Server Pages
      • The Great State of Denial
      • Using Outlook as a Front End for Access Data
      • Tip: The IN Crowd
      • Seek and Ye Shall Find . . .
      • Tip: Simulated Hyperlinks
      • SubQueries to the Rescue
      • Tip: Mixing Validation Rules
    • Jul-1997
      • Using Source Code Control with Access 97
      • Let Me Introduce Myself
      • Tip: Don't Forget to Intercept These Keystrokes
      • Tip: Wrap API Calls So They'll Work in All Versions of Access
      • Tip: Use StrComp to Make Case-Sensitive Comparisons
      • Filling Team Manager Gaps with Access Reports
      • Using an Undocumented Object, Removing the MRU List etc
      • Tip: The Built-In Proper Case Function etc
    • Jun-1997
      • Time to Move On
      • Closing All Open Forms
      • Handling Misleading Report Errors
    • May-1997
      • SQL Without Joins
      • In Defence of VBA
      • Shuffling Lists of Numbers, Ranking, and Control-Level Validation
    • Apr-1997
      • The Microsoft Web Browser Control
    • Mar-1997
      • Start Programming with Class
      • Printing - Smart Access
      • Nulls or Zero Length Strings - Doesn't Matter
    • Feb-1997
      • The More Things Change . . .
      • Access Maths Doesn't Add Up
    • Jan-1997
      • Moving On Up
      • How to Convert Case and Calculate Total Time
    • Dec-1996
      • Get Ready for an Exciting New Year!
    • Nov-1996
      • More News on Access 97
    • Oct-1996
      • A Change of Heart
      • Tip: Use With Construct to Streamline Your Code
      • Tip: Update and Append Records from One Query
    • Pre 1996
      • Sep-1996
        • Printing Pesky ZIP Codes and Setting the Starting Page Number for Reports
      • Aug-1996
        • An Assortment of Windows API Tricks
      • May-1996
      • Mar-1996
        • Top Values, Hierarchical Lists, and Almost Equivalent Strings
      • Jun-1994
        • Create Resolution-Independent Forms in Access 2.0
      • Printing - Smart Access
  • OfficeDevCon 2009
    • Getting Stuff
    • What Will I Be Talking About
    • Garry Robinson
  • Our Newsletter and Feeds Etc
    • Thanks for Joining Our Newsletter