You are on page 1of 8

Home (../../index.html) / MS Access Developer Center (../developer/index.html) / Access vs.

Excel

Microsoft Access versus Microsoft Excel for Data Analysis and


Reporting
by Luke Chung (../../AboutUs/index.htm#LukeChung), President of FMS Inc.

(../add-ins/products.htm)Choosing Between
Spreadsheets and Databases
We are often asked by Microsoft Office power users whether, why, and
when they should use Microsoft Access versus Microsoft Excel.
Especially when they are very comfortable using MS Excel and don't
understand the reasons why anyone would use MS Access or
databases. Here's our perspective.

Empowering Information Workers

We do not believe it's an either/or situation. Our experience with Access and Excel is that they both
have strengths and naturally complement each other. Individuals who understand the differences,
learn the products, and apply the appropriate tool for the appropriate situation give themselves
and their organizations a competitive advantage.
Microsoft Office products empower individuals (Microsoft calls you Information Workers) to get
things done on your own. This lets you leverage your knowledge of the work that actually needs to
be done to your solution. This is far more efficient than forcing you to escalate problems to "IT
professionals" who need help understanding your technical requirements with limited
understanding of your business requirements. It becomes nearly impossible to do when one
doesn't know the solution yet and is trying and modifying many things.

Advantages of Microsoft Excel Spreadsheets

The learning curve for Excel is very short, so it's easy to use Excel and be productive right away.
Rare are the situations where IT staff create spreadsheets Information Workers can do for
themselves.
Excel makes it easy to store data, perform numerical calculations, format cells, and adjust layouts
to generate the output and reports to share with others. Advanced features such as subtotals,
power pivot tables and pivot charts, analysis toolkit, and many templates make it easy to
accomplish a wide range of tasks. It can even integrate with the Analytic Services (Business
Intelligence) from SQL Server. Tweaking the results is also very easy to get the exact layout, fonts,
colors, etc. that you want.

Disadvantages of Microsoft Excel Spreadsheets

Unfortunately, there's a price for the flexibility of spreadsheets. While it's easy to create formulas,
reference cells, copy and paste data, and link worksheets and spreadsheets together, as the work
gets more complex, spreadsheets become more difficult to change and manage. While
spreadsheets are ideal for creating one time analysis, they become problematic as the data grows
and evolves over time. As new rows and columns get added, summary ranges and formulas may
need to be modified or new ones created, data and formulas aren't consistently updated, and these
mistakes lead to bad results and decisions.
The challenges of spreadsheets are due to the difficulty maintaining them accurately over time and
scaling the volume.

Advantages of Microsoft Access and Databases

For spreadsheet experts, it's often difficult to understand what databases offer that spreadsheets
don't already have. There are several advantages of databases:
Data structure and normalization through multiple tables
Scalability: adding more records is free
Data and Referential Integrity
Queries and Reports
Automation through Macros and VBA Modules
Table Structures and Validation
Databases make it easy to store information in one place and reference it in multiple places. For
instance, customer information may be kept in a customer table where the name, address, phone
number, email, etc. are kept. It is then referenced in other places such as queries, forms, and
reports. If the customer's information changes, the new information is automatically updated in all
the referenced places. The table designs also impose structure that lends itself to data types,
validation and consistency for higher quality than what normally exists in spreadsheets. The basics
of storing numeric, date, and text fields are just the beginning.
Records are Free in Databases
The biggest difference with spreadsheets is that in a database, records are free. If it's well
designed, over time, new records are continually added without needing to add new fields. All the
queries, forms, and reports continue to work without any changes. Different filters may be applied
but the results are always consistent. There's no need to retest the formulas (cells) when new data
is added. This allows accurate reports to be generated every year, quarter, month, week, day, etc.
Data and Referential integrity
With the fear of garbage in - garbage out, Access databases provide many tools to maintain data
quality. Lookup lists and validation rules for individual fields and records can be easily implement in
Access at the table level. Forms can add additional rules during data entry to respond to user
selection and events. Access also offers referential integrity between tables to ensure data is
consistently defined across tables.
Queries and Reports
Microsoft Access queries and reports let you slice and dice your data and present it in detail or
summary form regardless of how the data is stored or sorted in the underlying tables. It offers a
great deal of power and flexibility to analyze and present results. Using groupings, it's easy to
show aggregations as the data changes and groups get added or removed.
Automation through Macros and VBA Modules
From a macro or VBA module, you can use the DoCmd.TransferSpreadsheet command to export
data from an Access table or query to an Excel spreadsheet (use the acExport option). Your
spreadsheet can then reference that data or import it into itself.
The TransferSpreadsheet command with the acImport option can also be used to import a
spreadsheet into an Access table.
With Office/Excel automation, you can actually open an existing Excel spreadsheet from Microsoft
Access, and place data in specific cells, thereby automating the updates of the data there.

Disadvantages of Microsoft Access


Most Advanced Product in Office
Microsoft Access is the most advanced and complicated product in Microsoft Office. Database
design and development require a higher level of experience and training than using a spreadsheet
or Word document.
Need to Learn How to Create Databases
While one can create a database quickly, creating it properly so that it supports its requirements
over time requires skill and training (or experience doing it incorrectly). Figuring out how to define
normalized tables, link them together, and structure the information so it's easy to edit, query,
view, and report can be quite challenging.
The learning curve for building a database, creating queries, and designing report layouts may
seem quite daunting. Many of those issues are not unique to Access since they apply to all
database platforms.
Cannot Place Fields Anywhere on a Form or Report
A database is more complicated than just putting data in cells of a spreadsheet. It can be quite
frustrating to be unable to easily copy and paste blocks of data, or implement exceptions to the
structure of an Access report (for instance, wanting to highlight a specific value or row with special
fonts and comments). While MS Access includes VBA code that allows for customization, it requires
much more effort than the simple WYSIWYG design of Excel.
Data Visualization is More Advanced in Excel
Some data analysis features such as power pivots exist in Excel but not Access. The charting
features are also more advanced and modern in Excel vs. Access, so the output one generates in
Excel may look better.
A database is designed to generate mass amounts of data and reports without customizing each
one. Excel is great at customizing the output. One workaround is using Access to manage the data
and export the data to Excel, or have Excel connect to the Access data for reporting.

Conclusion

Excel makes it easy to generate custom output with very flexible formatting and annotations that
you can add anywhere. The payoff with Microsoft Access is how databases simplify things over
time. It may be overkill for one time analysis, but if the data and reports need to be maintained
over time, spreadsheets often hit a wall. Most organizations have many "similar" spreadsheets that
are tweaked slightly differently and rapidly become inconsistent. A well designed Access database
avoids that manageability challenge. That said, both Access and Excel have their strengths and
weaknesses.
A hybrid solution where data from an Access database is exported or copied to Excel often provides
the best of both worlds. The data integrity of a database with its well defined and approved output
in conjunction with Excel for ad hoc analysis lets you leverage the advantages of both. Using
automated processes, the sharing of data can be very smooth.
In our experience, these solutions evolve over time in very non-predictable ways regardless of
technology. Having tools that allow for the flexibility to rapidly respond to such changes empowers
you and your organization to meet its mission efficiently.
Good luck!

Additional Resources

Database Evolution: Microsoft Access within an Organization's Database Strategy


(../Strategy/)
Microsoft Access and SQL Server Database Normalization Tips
(../../tpapers/genaccess/databasenorm.html)
Microsoft Access Query Tips and Techniques (../query/index.html)
Creating a Spreadsheet-like 12 Month Microsoft Access Report for any Date Range
(../query/crosstab-report/index.html)
Advanced data analysis with Total Access Statistics (../StatisticalAnalysis.html)
Fortune Article Incorrectly Blaming Excel (rather than the User):
Damn Excel! How the 'most important software application of all time' is ruining the world
(http://fortune.com/2013/04/17/damn-excel-how-the-most-important-software-application-
of-all-time-is-ruining-the-world/)

Microsoft Access Developer Center (../developer/index.html)


Strategic Overview
Microsoft Access within an Organization's Database Strategy (../Strategy/index.asp)
Microsoft Access vs. Excel (versus-excel.html)
How many simultaneous Microsoft Access users? (http://blog.fmsinc.com/microsoft-access-database-scalability-how-many-
users-can-it-support/)
Blaming Microsoft Access instead of the Developer (http://blog.fmsinc.com/mistakenly-blaming-microsoft-access-instead-
of-the-developer/)

History of Access

Microsoft Access Version Feature Differences (../history/features.htm)


Microsoft Access Versions, Service Packs and Updates (../history/versions.htm)
How Access Started (../history/index.html)
Top 14 Features Added with MS Access 2007 (../2007/Top-Features.html)

Best Practices

Taking Over Legacy MS Access Databases (../taking-over/index.html)


100+ Performance Tips (../Performance.html)

(../BestPractices.html)
Winner of Every Best Access Add-in Award (../BestPractices.html)
Split Database Architecture for Multiuser (../DatabaseSplitter/index.html)
Find and Delete Unused Objects and VBA Code (../UnusedObjects/FindingDeleting.html)

Table Design

Design Primary Keys (../../free/NewTips/PrimaryKey.asp)


Field Type Consistency (../../free/newtips/access/accesstip5.asp)
Table Normalization Tips (../../tpapers/genaccess/databasenorm.html)
Take Time into Account (../database-design/table-time.html)
Temporary Data (../database-design/temporary-data.html)
Transpose Data (normalization/transpose.html)
Set AutoNumber Starting Number Other than 1 (../autonumber-field/index.htm)
Avoid Unnecessary or Duplicate Indexes (../../free/NewTips/Access/AutoIndex/index.asp)
Replace Attachment Field Paperclip Icon (../attachment-field/index.html)
Avoid Decimal Data Types (../database-design/decimal_data_type/index.htm)

Query Design
(../query/help-center.html)
Microsoft Access Query Tips and Techniques (../query/help-center.html)

Form Design

Form Tips and Mistakes (../Forms/common_mistakes.htm)


Module VBA to Forms and Controls (../Forms/controls-vba/index.html)
Form Navigation Caption (../Forms/NavigationBar/Caption.asp)
Resync Record in a Subform (../../free/NewTips/Access/ResyncSubform.asp)
Synchronize Two Subforms (../Forms/Synchronize/LinkedSubforms.asp)
Multiple OpenArgs Values (../Forms/openargs/index.htm)
Late Bind Tab Subforms (../Performance/Forms/LateBinding.asp)
Subform Reference to Control Rather than Field (../Forms/Subform/Master-Link-Fields.asp)
Tab Page Reference (../Forms/tabs/index.html)
Shortcut Keys (../Forms/shortcut_keys.htm)

Combo Box Top Tips (../Forms/combo-boxes/index.html)


Properties and Validation (../Forms/combo-boxes/properties.html)
Select First Item (../Forms/combo-boxes/select-first.html)
Cascading Combo Boxes (../Forms/combo-boxes/cascading.html)
Zip, City, State AutoFill (../ZipCodeDatabase.html)

Report Design

Suppress Page Headers and Footers on the First Page of Your Report (../../free/NewTips/Access/accesstip35.asp)
Add the NoData Event (../../free/NewTips/Access/accesstip45.asp)
Annual Monthly Crosstab Columns (../query/crosstab-report/index.html)

Design Environment

Add Buttons to the Quick Access Toolbar (../2007/toolbar/quick-access.asp)


Collapse the Office Ribbon for more space (../2007/ribbon/collapse.asp)

VBA Programming

Basics: Forms and Controls (../Forms/controls-vba/index.html)


Run VBA Code from a Macro (../macro/index.htm)
Use Nz() to Handle Nulls (../vba/nz.htm)
Avoid Exits in the Body of a Procedure (../../free/NewTips/VBA/Avoid_Procedure_Exits.html)
Shortcut Debugging Keys (../Module-Coding-Tools/debugging/shortcuts.htm)
Set Module Options (../modules/options/index.html)
Math Rounding Issues (../../tpapers/math/index.html)
Rename a File or Folder (../modules/examples/rename_file_folder.htm)
Avoid DoEvents in Loops (../modules/examples/AvoidDoEvents.asp)
Age Calculations (../modules/examples/AgeCalculation.asp)
Weekday Math (../modules/examples/AddWeekdays.asp)
Send Emails with DoCmd.SendObject (../Email/SendObject.html)

Source Code Library

(../modules/index.asp)
Microsoft Access Modules (../modules/index.asp)
VBA Error Handling

Error Handling and Debugging Techniques (../../tpapers/vbacode/Debug.asp)


Error Number and Description Reference (../Errors/ErrorNumber_Description.html)
Basic Error Handling (../../free/NewTips/VBA/BasicErrorHandling.asp)
Pinpointing the Error Line (../../free/NewTips/VBA/ErrorHandling/LineNumber.html)

Performance Tips

Linked Database (../Performance/LinkedDatabase.html)


Subdatasheet Name (../Performance/subdatasheet/index.htm)
Visual SourceSafe (../VisualSourceSafe/index.html)

Deployment

Runtime Downloads (../runtime/index.htm)


Simulate Runtime (../developer/runtime.html)
Prevent Close Box (../startup/preventclose.asp)
Disable Design Changes (../Options/TableDesignChange/AllowDatasheetSchema.asp)
Broken References (../Errors/broken_object_references.htm)
Remote Desktop Connection Setup (../remote_desktop/index.html)
Terminal Services and RemoteApp Deployment (../terminal-services/remoteapp.htm)
Reboot Remote Desktop (../remote_desktop/reboot_restart/index.htm)
Missing Package & Deployment Wizard (../2010/package-and-deploy/index.html)
Avoid Program Files Folder (../installation/index.htm)
Unavailable Mapped Drives (../developer/mapped_drives_not_available.htm)

(../VersionLauncher.asp)

System Admin

Disaster Recovery Plan (../taking-over/backup-disaster-recovery-plan.html)


Compact Database (../compact/index.html)
Compact on Close (../compact/compact-on-close.html)

Database Corruption

Class Not Registered Run-time Error -2147221164 (../Errors/class_not_registered/index.htm)


Inconsistent Compile Error (http://blog.fmsinc.com/microsoft-access-inconsistent-compile-error-for-a-field-reference-in-a-
form/)
Decompile Database (../Performance/Decompile.asp)
Bad DLL Calling Convention (../Errors/Bad_DLL_Calling_Convention.asp)
Error 3045: Could Not Use (../Errors/3045-Could-Not-Use-Database.htm)
Converting ACCDB to MDB (../Errors/database_format/cannot_save_this_database.html)

SQL Server Upsizing

(../SQLServerUpsizing/index.html)
Microsoft Access to SQL Server Upsizing Center (../SQLServerUpsizing/index.html)
When and How to Upsize Access to SQL Server (../SQLServerUpsizing/how/index.htm)
SQL Server Express Versions and Downloads (../SQLServerUpsizing/express/index.html)

Cloud and Azure

Cloud Implications (../../microsoft-azure/index.html)


MS Access and SQL Azure (../cloud/link-to-azure-sql-database.html)
Deploying MS Access Linked to SQL Azure (../cloud/deploying-linked-azure-sql-databases.html)
SQL Server Azure Usage and DTU Limits (../../microsoft-azure/sql-server/monitoring.htm)

Visual Studio LightSwitch

LightSwitch Introduction (../LightSwitch/index.html)


Comparison Matrix (../LightSwitch/platform/index.html)

Additional Resources

Microsoft Access Help (../help.html)

MS Access Developer Programming (../consulting-services/index.html)

More Microsoft Access Tips (../../free/tips.html)

Technical Papers (../../tpapers/index.html)

Microsoft Access Tools (../tools.asp)

Connect with Us

Email Newsletter (../../newsletter/index.html)

Developer Team Blog (http://blog.fmsinc.com)

Facebook (http://www.facebook.com/MicrosoftAccessProducts)

Facebook Feed (../../facebook/index.html)

Twitter (http://twitter.com/fmsinc)

Support Forum (http://support.fmsinc.com)

Celebrating our 32nd Year of Software Excellence


MS Access Products Access/Office/VBA and VB6 Product Catalog
Total Access Admin (../monitor.asp) Products
Total Access Analyzer Total Visual Agent (../Scheduler.html)
(../BestPractices.html) Total Visual CodeTools
Total Access Components (../VBACodingTools.html)
(../Controls.html) Total Visual SourceBook
Total Access Detective (../modules/index.asp)
(../DatabaseCompare.html) Zip Code Database
Total Access Emailer (../Email.asp) (../ZipCodeDatabase.html)
(../../products/Catalog)
Total Access Memo Suites (../../products/suites/index.html)
(../RichTextMemo.html) Support
Total Access Speller Forum & Ticket Submissions
(../SpellChecking.html) (http://support.fmsinc.com)
Total Access Startup Support Options
(../VersionLauncher.asp) (../../support/techsupport.asp)
Total Access Statistics Product Updates (../../free/updates/)
(../StatisticalAnalysis.html)
FAQs (../../faqs/index.html)
Suites (../../products/suites/index.html)
Contact Us About Us
Non-Technical Questions About Us
(../../contactus/) (../../AboutUs/index.htm)
Location and Directions Consulting Services
(../../contactus/location.htm) (../../consulting/)
International Dealers Recent News
(../../products/intl.htm) (../../news/index.html)
My FMS (../../myfms/) Why Choose FMS?
(../../AboutUs/why.htm)
Quality Promise
(../../AboutUs/quality-
promise.htm)
 Newsletters
(../../newsletter/index.html)

(../../consulting/about.aspx) (../../pressrel/General/SDTimes.asp)

Copyright © FMS, Inc. Vienna, Virginia | Privacy Policy (../../toplevel/privacy.asp) | Webmaster (mailto:webmaster@fmsinc.com)

You might also like