Update Multiple Access Tables Using an Excel Spreadsheet for Update Values

Please note my knowledge level is Beginner...
Is it possible to update multiple tables using an Access Update Query with linked tables and an Excel spreadsheet that contains the 'new' values?  

I have one Acesss table called 'Employee' which contains employee_id, employee_name, etc.  I have a second Access table called Address, which contains the employee_id, employee'_street, city, and state.  

I have an Excel spreadsheet that contains employee name and address changes.  Can I link Employee to Address on employee_id  and use the update query to update from the Excel spreadsheet all applicable name changes to the Employee table and applicable address changes to the Address table?  If this is possible, how would I do this?
rrtraverseAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
GRayLConnect With a Mentor Commented:
OK, are you able to link to the Excel table from Access, using Files Get External Data?  If so, assuming the linked table is named ExData you need to create these two queries.

Insert ExData.EmpID, ExData.FName, ExData.DOB INTO Employees FROM ExData;

and

Insert ExData,EmpID, exData.Add1, ExData.Add2, ExData.City, ExData.State, ExData.ZIP INTO Addresses FROM ExData;

Open the query designer, click on Query Design, close the Show Table dialog box, right-click on a clear area of the pane, select SQL View, and paste the first string into the window.  Make changes to the names of the tables and fields as necessary, and then click on the big exclamation mark in the toolbar.  To satisfy yourself you are getting the correct data, Change Insert to Select, and remove INTO Employees.  This will change the query to a normal Select query - which is where I suppose you should have started.  Once you see you are getting the data you want, then change the Select to Insert and add INTO Employees after the list of fields.

Then do the same for the Addresses table.

0
 
GRayLCommented:
Why do you have a second Access table called Address1  An address is a part of an Employee credential.  You need:

Employees
========
EmpID
FName
LName
Add1
Add2
City
State
Zip
Phone
etc.

If John and Martha Smith both work for you at the same address and phone number, you distinguish them by the EmpID - nothing else.

0
 
Patrick MatthewsCommented:
Hello rrtraverse,

I'm with Ray.  The only reason you'd need a separate address table is if you wanted to be able to track
multiple addresses for a given employee (work address and home address, say) or if you wanted to
store the addresses on an effective-date basis.

Regards,

Patrick
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
rrtraverseAuthor Commented:
It was just an example to show what I was trying to do
0
 
GRayLCommented:
If you link to an Excel spreadsheet which contains both Name and Address data, you can use the linked table to replace/append the data in both your Employees and Addresses tables. Are we to assume the Excel table is a master list of names and addresses or does it contain only 'added' data?   That would dictate whether one used it in a SELECT INTO query or an INSERT query.



0
 
rrtraverseAuthor Commented:
The Excel spreadsheet will contain data changes
0
 
rrtraverseAuthor Commented:
My question, which was obviously stated badly was whether or not you could update more than one table at a time.  Since your most recent response instructs me to update one table, and then the other, I will assume this means you can update only one table at a time.  

Thank You  
0
 
GRayLCommented:
Thanks, but why the B?  If it were possible in a single query, of course I would have shown you that.  I saw 'Beginner' and went through considerable detail on creating and executing the queries.  Needless to say, I can hardly wait for the next question...
0
All Courses

From novice to tech pro — start learning today.