Free Lessons
Fast Tips
Topic Index
Home   Courses   Seminars   Templates   TechHelp   Fast Tips   Forums   Help   Contact   Join   Order   Logon  
Evil Access Stuff
By Richard Rost   Richard Rost on Twitter Richard Rost on LinkedIn Email Richard Rost   13 months ago

I'm trying to come up with a list of all of the evil stuff in Access that I have to continuously tell people NOT to do. Help me out here guys. You should never use:

  • Spaces in your Object names (tables, fields, etc.) Say "OrderDetailT" not "Order Detail Table"
  • Reserved words (Date, Name, etc.)
  • Split Forms (I've seen several times where VBA code that works on a single form stops working on a split form)
  • Attachment Data Type (NEVER store attachments inside your database. See ABCD Part 5). Super Evil.
  • OLE Objects or Pictures stored inside the database (see Images).
  • Multi-Valued Fields (TechHelp video coming up on this one soon).
  • Hyperlink Fields. Use Short Text instead.
  • Google Drive (or DropBox, etc.) to share an Access database. See this page if you want remote access
  • A single shared database file on a network with multiple users opening it (Split your DB)
  • AutoNumbers are NOT for You! They're for Access' internal use ONLY! Don't worry if they're out of sequence or you're missing some. If you need sequential numbers, use a custom counter.
  • Switchboards. Make your own Menu Forms.
  • Calculated fields in tables. Use calculated query fields instead. Tables shouldn't contain calculations.
  • Lookup values in tables. Use relational combo boxes on forms instead.
  • Subdatasheets in tables or queries. No. Use forms with subforms instead to show relationships. See this for more information.
  • Data Macros. I'm sorry. I'll never get used to having macros inside tables. It breaks every rule that I've ever been taught about relational databases. I don't like macros to begin with. Macros in Forms are a pain. Macros in Tables are an abomination. Stick to Forms and Event Programming (VBA).

These things are frowned upon:

  • SendKeys
  • Plurals in your object names. Try to be consistent even if it doesn't sound right. CustomerT not CustomersT.
  • Not commenting your code!
  • Not naming all of your objects like command buttons (I'm guilty of this)
  • Not backing up your database nightly!
  • Not backing up offsite!
  • Not backing up before a major code revision (don't lose a whole day's work)
  • Third-party add-ons and references. Use internal Access objects if possible, or at least objects that come with Office.
  • ActiveX Objects - unreliable
  • Navigation Forms - use a Main Menu form, or my subform technique in ABCD Part 2
  • Tab Controls. I just don't like them. They're a pain to use.
  • From @NoLongerSet - Overuse of DoCmd.SetWarnings False and On Error Resume Next - my reply: Yeah... I pretty much only use SetWarnings around a RunSQL command (and even then I try to use db.Execute if possible). Resume Next is lazy error handling, but sometimes I like it if I don't feel like doing something the LONG way. LOL.
  • Cascade Updates are dumb. Cascade Deletes are dangerous! Handle it yourself in VBA/SQL code.
  • Layout Mode and groupings of controls. Sure, use them, arrange your controls how you like, but then right-click and Remove Layout when you're done with it. Don't leave it on.

Be careful of this stuff:

  • Adding VBA references to outside libraries. Version numbers and DLLs can change in future Office editions.

What can you think of? I know I've mentioned a lot of things in my 20+ years of teaching Access classes. But you know me... old brain can't rememeber it all...


Comments for Evil Access Stuff
Age Subject From
16 daysOne Reason to Store AttachmentKevin Yip
3 monthsSpaces in Object NamesKevin Yip
5 monthsSubdatasheet Potential EvilScott Axton
5 monthsReferential IntegrityJeffrey Rainey
13 monthsNavigation FormScott Axton
13 monthsOffice Version RefsAlex Hedley
13 monthsSwitchboardAlex Hedley
13 monthsActiveX ControlsEdwards Christopher
13 monthsBackup OftenScott Axton
13 monthsAutonumbersAdam Schwanz


Start a NEW Conversation
Only students may post right now. Click here for more information on how you can set up an account. If you are a student, please LOG ON first.

You may want to read these articles from the 599CD News:

8/18/2022Access Developer 41
8/18/2022Access Developer 41
8/18/2022Access Developer 41 Lessons
8/18/2022Event Countdown
8/17/2022Access Developer 40
8/17/2022Append Mistake #2
8/16/2022System Font Dialog
8/16/2022RGB to Hex
8/16/2022Hex to RGB
8/16/2022Choose Color Dialog

Access - index
Excel - index
Word - index
Windows - index
PowerPoint - index
Photoshop - index
Visual Basic - index
ASP - index
My Account
My Courses
Lost Password
Student Databases
Change Email
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search The Site
Code Vault
Collapse Menus
Customer Support
Web Site Tour
Consulting Services
Affiliate Program
Richard Rost
Free Lessons
Mailing List
Video Tutorials
Learning Connection
Idiot's Guide to Excel
Volume Discounts
Payment Info
Terms of Sale
Contact Info
Support Policy
Email Richard
Mailing Address
Phone Number
Fax Number
Course Survey
Blog RSS Feed    Twitter

YouTube Channel    LinkedIn
PermaLink  Evil Access Stuff