Free Lessons
Courses
Seminars
TechHelp
Fast Tips
Templates
Topic Index
Forum
ABCD
 
Home   Courses   TechHelp   Help   Contact   Merch   Join   Order   Logon   Forums   
 
Back to Access Forum    Comments List
Upload Images | @Reply | Bookmark | Link | Email | Next Unseen |
Companies, Locations and Customers
Damon Lee 
     
6 hours ago
I'm in business to business and have companies with multiple locations and customers (contacts) operating in those locations and some in multiple locations how should I related all three together and maintain nominalization. Copilot recommended CustomerT be the primary field with CompanyT and LocationT being the foreign keys. I would like to be able to select the company and location or just the location from combo boxes when entering a new customer. I'm currently in Expert 9. Is this covered in an upcoming lesson?
Damon Lee OP  @Reply  
     
6 hours ago
I failed to mention. I would like to the location address and company name to autofill for the new customer once I've selected     the location related to the customer from a combo box.
Kevin Yip  @Reply  
     
5 hours ago
In my old job, our customers were set up as follows.  Each company has a single bill-to address and multiple ship-to addresses.  Bill-tos and ship-tos are stored in two different tables, with a one-to-many relationship between them.  The reason for using two tables is that there are billing-related fields in the bill-to table, and shipping-related fields in the ship-to table.  If these requirements don't exist for you, you may use just one table for all the addresses.

In my old job, we stored contact persons in a contact person's field in both the bill-to and ship-to tables.  They were not stored in a separate contacts table, since we didn't need to keep track of every person.  If you need to, you may do so.  Also, for us, a "contact" could also be a non-human entity; e.g. Billing Department, Accounts Receivable, etc.  In a business setting, it all depends on what these companies want you to address to, which is not always a person's name.
Donald Blackwell  @Reply  
       
4 hours ago
First, to directly answer your question, yes, as you continue with Richard's courses, you will learn how to create forms with combo boxes that will pull in and necessary information from one resource table to display with another and to populate any necessary historical fields to capture transactional data in case resource data changes in the future. He will give full instruction on many-to-many relationships along with using them in relational and/or cascading combo boxes to populate your fields.

As Kevin pointed out, how you lay out your tables depends on your specific needs. One database I built a few years ago, albeit on a small scale contained the following tables:

CompanyT - general information about a specific Company
LocationT - information about a Location. This might be one of many locations for a company or a home office for a company's employee/customer contact
PersonT - information about people, whether they were employees/customers, etc.
AddressT - An address table that contained the addresses for all the Company Locations and Person's (if applicable). This may seem odd but some of the company's they worked with had locations with multiple addresses that they classified as one location; for example a two factories defined as one location but had a street between the two buildings but for instance, each building had its own shipping/receiving dock or docks and its own address.
PhoneT - to manage phone numbers for companies, locations, and people
ContactT - to manage leads, call ins, followups, tickets, etc.

There were more, but you can kind of get an idea. And most of the tables were cross-linked in forms and junction tables. Richard's Courses, TechHelp Videos, and Seminars explain how to make things work as you need.
Richard Rost  @Reply  
          
3 hours ago
Damon, you're thinking along the right lines. Since one contact can work at several locations, I'd use a junction table between CustomerT and LocationT, with one record for each customer/location pair. A single LocationID in CustomerT would limit each contact to one location.

Assuming each location belongs to one company, put CompanyID in LocationT. Keep the location's address there too, and display the related company and address on your form rather than copying them into every contact record.

The many-to-many foundation is in Access Expert 7, lessons 2 and 3. Review the customer/group example and think of locations in place of groups. That gives you a customer form with a subform for their locations.

Choosing a company first and filtering the location list is called cascading combo boxes. My Cascading Combo Boxes Without VBA video covers the newer linking properties, if they're available in your Access 365 installation. You can also select a location directly and display its company from that relationship.
John Davy  @Reply  
         
3 hours ago
Rick you beat me to it. Many to many seems to be the way to go.  John
Damon Lee OP  @Reply  
     
86 minutes ago
Thanks, I appreciate everyone’s input. I feel like I start to connect some of the dots, then I get out over my skies and my mind starts to wander in multiple directions with many possibilities.
Add a Reply Upload an Image
Next Unseen

 
 
What's This?

 

The following is a paid advertisement
Computer Learning Zone is not responsible for any content shown or offers made by these ads.
 

Learn
 
Access - index
Excel - index
Word - index
Windows - index
PowerPoint - index
Photoshop - index
Visual Basic - index
ASP - index
Seminars
More...
Customers
 
Login
My Account
My Courses
Lost Password
Memberships
Student Databases
Change Email
Info
 
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search The Site
Code Vault
Collapse Menus
Help
 
Customer Support
Web Site Tour
FAQs
TechHelp
Consulting Services
About
 
Background
Testimonials
Jobs
Affiliate Program
Richard Rost
Free Lessons
Mailing List
PCResale.NET
Order
 
Video Tutorials
Handbooks
Memberships
Learning Connection
Idiot's Guide to Excel
Volume Discounts
Payment Info
Shipping
Terms of Sale
Contact
 
Contact Info
Support Policy
Mailing Address
Phone Number
Fax Number
Course Survey
Email Richard
[email protected]
Blog RSS Feed    YouTube Channel

LinkedIn
Copyright 2026 by Computer Learning Zone, Amicron, and Richard Rost. All Rights Reserved. Current Time: 11/1/2026 12:29:22 AM. PLT: 1s