MS Access - Запрос - Заменить значение - PullRequest
1 голос
/ 10 июня 2019

В одном из полей указан идентификатор партнерской организации. Везде, где поле заполнено, это одна из партнерских организаций. Если поле пустое, это означает, что это материнская компания. Как в моем запросе я могу заполнить пустые записи идентификатором родительской компании?

Единственное, что я обнаружил, - это создание выражения в новом поле:

 SELECT Valid_Learner.LearnRefNumber, Valid_Learner.FamilyName, Valid_Learner.GivenNames, Valid_Learner.DateOfBirth, Valid_Learner.Ethnicity, Valid_LearningDelivery.FundModel, Valid_LearningDelivery.PartnerUKPRN,
Replace([PartnerUKPRN],"","parentComanyID") AS UKPRN, 
Valid_LearningDelivery.DelLocPostCode, Valid_LearningDelivery.LearnAimRef
FROM Valid_Learner RIGHT JOIN Valid_LearningDelivery ON Valid_Learner.LearnRefNumber = Valid_LearningDelivery.LearnRefNumber;

Новое поле ("UKPRN") должно (для целей этого вопроса) иметь строку "parentCompanyID" всякий раз, когда в поле PartnerUKPRN пусто.

В результате поле UKPRN отображает идентификаторы, в которых идентификатор присутствует в поле PartnerUKPRN, но показывает «#Error», где в PartnerUKPRN пусто.

1 Ответ

1 голос
/ 10 июня 2019

Если «пусто» означает NULL, то вы можете использовать NZ() в MS Access:

NZ([PartnerUKPRN], "parentComanyID") AS UKPRN

Это был бы "нормальный" способ написания этой логики. Я не знаю, почему REPLACE() вернет ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...