Это должно быть проще, если вы измените tblLookup.
REQUEST REQUEST_TEXT
------------------------
A Approve
D Disapprove
U Unknown
Затем в tblMain измените поле REQUEST на Required = True и Default Value = "U". При добавлении новых записей они будут иметь U для ЗАПРОСА, если пользователь не изменит их на A или D.
Тогда запрос, который объединяет 2 таблицы в REQUEST, должен дать вам то, что я думаю, вы хотите.
SELECT m.REQUEST, l.REQUEST_TEXT
FROM tblMain AS m
INNER JOIN tblLookup AS l
ON l.REQUEST = m.REQUEST;
Вы также должны создать связь между двумя таблицами и выбрать опцию для обеспечения ссылочной целостности, чтобы пользователи не могли добавить ложное значение, такое как «X» для REQUEST.
Редактировать :
Если изменение структуры tblMain вне таблицы, и если вы делаете это из сеанса Access, вы можете использовать функцию Nz () в LEFT JOIN.
SELECT m.REQUEST, Nz(l.REQUEST_TEXT, "Unknown")
FROM tblMain AS m
LEFT JOIN tblLookup AS l
ON l.REQUEST = m.REQUEST;
Если вы делаете это вне сеанса Access, например из ASP, функция Nz () будет недоступна. Таким образом, вы можете заменить выражение IIf () на Nz ().
SELECT m.REQUEST, IIf(l.REQUEST_TEXT Is Null, "Unknown", l.REQUEST_TEXT)
FROM tblMain AS m
LEFT JOIN tblLookup AS l
ON l.REQUEST = m.REQUEST;
Edit2 : Вы не можете напрямую присоединиться к нулевым значениям. Однако со строкой «Неизвестно», которую я предложил для tblLookup, вы можете использовать JOIN, который включает Nz для tblMain.REQUEST
SELECT m.id, m.request, l.request_text
FROM tblMain AS m
INNER JOIN tblLookup AS l
ON Nz(m.request,"U") = l.request;
Если вы хотите оставить tblLookup REQUEST как Null для REQUEST_TEXT = Неизвестно, я полагаю, вы можете использовать Nz с обеих сторон выражения JOIN. Однако вся эта идея присоединения к Nulls заставляет меня съеживаться. Вместо этого я бы исправил таблицы.