Solved

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

Posted on 2014-11-26
9
108 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 34

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
 
LVL 78

Expert Comment

by:David Johnson, CD, MVP
ID: 40467365
you have to join with the supervisors table with the key supervisor_a_id
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.

 

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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

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
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

911 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now