You have said nothing about your table structure.
Nether [Emirate] nor [Country/Region] can be a primary key if they ar null, or you have something very wrong in how you have set up your table relationships. That may your first issue as making a join between tables is easiest on the primary key. (
> Database Normalization and Table Structures. )
You can ofcourse join on other fields and this is what you will need to do, is join on these fields back to the tables that have the text version then include the fields in the query with the text and use those instead of the numeric fields.
Also, all of this IIF() nastyness doesn't need to be done to avoid the extra spaces, read thru this article AND pay attention to the conversation about the propogation of NULLS:
What Is Null?
You'll find the method we use to joing things like:
[Name_first][Name_MI][Name_Last] when field [Name_MI] may be null without an extra space.