When to import data from Excel into Access, rather than link Access to Excel spreadsheet?

mlagrange
mlagrange used Ask the Experts™
on
Hello - I am taking over an Access 2010 app that links to an Excel 2010 spreadsheet that is currently at 52,000 rows.

I have a gut feeling that it would better to just import this data into the back end accdb (it's the typical split db implementation), but I'd like to have something to hang my hat on if/when questioned.

Has anybody seen any white paper-type articles about when it makes sense to import, rather than link?

Thanks
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Dale FyeOwner, Dev-Soln LLC
Most Valuable Expert 2014
Top Expert 2010

Commented:
There are a number of reasons to link vs import.

What is the purpose of the Excel file?  How often does it change or have records added

Does your Access application need real time updates or near real time via your Access application.
Jim Dettman (EE MVE)President / Owner
Most Valuable Expert 2017
Most Valuable Expert 2012

Commented:
Ditto what Dale said; there are pro's and con's to each and which you use depends on your needs.

If it comes down to either would suffice, then go with the simplest and simply link.

And of course the 3rd way is to work with Automation and read/write the spreadsheet directly with Excel.

Jim.

Author

Commented:
Great points - the spreadsheet is a SAP database query of expenditure transactions for fixed asset construction and maintenance projects. It is only run once a month, after the monthly close process. As such, there are no updates to it; it is display-only on the Access forms & reports.

I am re-working how the data is used in the application; the original developer had it rigged up so that the relevant fields of the query output was copied to another xls, linked to the Access front end, and a series of update queries were run to summarize and update the spend amount fields in the project records for prior & current year totals, monthly totals, etc.  I'm replacing all that with a single SELECT query that does all that roll-up hoo-hah, and just JOIN it to the project table when needed.  

I'm thinking, for 50K+ rows, indexes would be helpful.
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Owner, Dev-Soln LLC
Most Valuable Expert 2014
Top Expert 2010
Commented:
Given your description, I would probably create a table in the BE of the database and append new records/update old records in that table from a linked XLS file.

Hopefully, you can structure that BE table in a normalized fashion to make it easier to query and perform analytics.

How many new rows do you have per month.  If this table is going to grow quickly, I'd suggest building the table in SQL Server (Express is free) and using that as the backend.  This will provide increased storage and faster processing via stored procedures and views.
Jim Dettman (EE MVE)President / Owner
Most Valuable Expert 2017
Most Valuable Expert 2012
Commented:
<<I'm thinking, for 50K+ rows, indexes would be helpful. >>

 It is getting into that range in terms of rows, but it depends on how the data is consumed.  And the ISAM drivers Access/JET uses are not all that bad performance wise, so you would be suprised how much you can get away with.

Jim.
Jeffrey CoachmanMIS Liason
Most Valuable Expert 2012

Commented:
Here is my take.

If there is some special functionality with the spreadsheet (Links to another sheet, Custom Functions, special data entry processes, ...etc)
Then it may be best to keep the data in Excel.
(Many member here also site that it is easier to Graph/Chart/Pivot in Excel)

There is always something to be said for keeping everything under one roof.
So if this is just a "list" (Customers, Orders, ...etc), ...then consider moving this to Access.

As you know, the ability to update Excel from Access has been removed for a while now.
Also note that you typically cannot link an .xlsx (XL 2007/2010)  file into a .mdb  format database.

"My users like Excel"
...A valid point...
IMHO, Access offers may advantages over Excel.
You can create an interface that feels and looks similar to the Excel "experience"

Finally consider what might happen if you had to upgrade the Back end to SQL Server...
I have seen all sorts of posts stating that you can "Link" Excel into SQL, but I have never tried any.

JeffCoachman

Author

Commented:
Thanks, guys

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial