Solved

In MS Access, how can I change a key # to the name?

Posted on 2014-11-26
9
109 Views
Last Modified: 2014-11-26
Hello,

This question is probably really simple for someone who uses Access regularly, however, my experience level is pretty basic.  

I have created a query to pull all of our salespeople's production for a period of time.  The table I'm referencing contains:
- Key #
- Sales people's "Name" (as well as supervisor names)
- Supervisor key #

My question is:  In the query, how can I get the Supervisor's name to show rather than their key #?

For example:
Key   Name    Super #
1  Tom Jones  4
2  E Kline          4
3  J Doe             4
4  S Meyer       7

The query now would pull:   Tom Jones, 4, rather than Tom Jones, S Meyer.

Thank you,

Pat
0
Comment
Question by:FFNStaff
9 Comments
 
LVL 35

Expert Comment

by:PatHartman
ID: 40467080
You need to join the table to itself.  This is known as a self-referencing relationship since a foreign key in the table refers to the table's own primary key.

Select tblPersons.*, tblPersons_1.LastName As SupervisorLastName, tblPersons_1.FirstName As SupervisorFirstName
From tblPersons Left Join tblPersons as tblPersons_1 On tblPersons.SupervisorID = tblPersons_1.PersonID;
0
 

Author Comment

by:FFNStaff
ID: 40467217
Pat, thanks for responding.

I don't understand what you telling me to do.  Am I doing this is the query grid under Field or Table?  Am I building this?

If it would help, I'm using the table with the salespeople's information, which is named Salespeople.
The columns are named:
S_ID,
S_LNAME,
S_SUPERVISOR_A_ID
0
 
LVL 26

Expert Comment

by:Nick67
ID: 40467317
The table I'm referencing contains:
 - Key #
 - Sales people's "Name" (as well as supervisor names)
 - Supervisor key #


Now, you want the supervisor's name.  It isn't in this table, right?
So in the query designer, you need to add the table containing the names.
You then need at create a join by dragging the supervisor's key # in the table you originally referenced to the table you just added (Access may have been smart enough to create this auto-magically if both keys were named the same, conversely Access may have created an unwanted join if the key name in the added table matched a name in the originally referenced table that we presently do NOT want to join on)
Then add the supervisors name field from the newly added table to the grid.

Example attached
sales.mdb
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 79

Expert Comment

by:David Johnson, CD, MVP
ID: 40467365
you have to join with the supervisors table with the key supervisor_a_id
0
 

Author Comment

by:FFNStaff
ID: 40467408
The supervisors are in the same table as the salespeople.
0
 

Author Comment

by:FFNStaff
ID: 40467417
the Supervisors are treated as salespeople in the same tables.  They are not necessarily identified as supervisors.  Their ID's used in the salespeople's columns.
0
 
LVL 26

Accepted Solution

by:
Nick67 earned 500 total points
ID: 40467458
Ok,

The sample is updated to account for that.
Have a look.

You'll add the people table to the query twice (yes! you can do that)
The second instance S_ID in the second people table to Super # in the table you originally referenced
sales-v1.mdb
0
 

Author Closing Comment

by:FFNStaff
ID: 40467542
Nick67, thank you!!  Exactly what I needed.

If you're in the U.S., hope you have a great Thanksgiving!  If not, hope you have a great regular week!
0
 
LVL 26

Expert Comment

by:Nick67
ID: 40467556
Up in the Great White North.
Not as white as Buffalo NY, but there's a foot of snow on the ground and it's 0º F at the moment.
Of course, that's par for the course for late November north of 55º latitude.
Have great Thanksgiving.
Nick67
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The canonical version of this article is on my web site here: http://iconoun.com/articles/collisions/ A companion presentation is available here: http://iconoun.com/articles/collisions/Unicode_Presentation.pdf
Lync meeting or Lync conferencing is what many organizations would like to deploy to allow them save money. But companies are now giving up for various reasons, one of which is that they cannot join external meetings (non-federated company meetings)…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question