Может ли оператор iif создать значение другого поля? - PullRequest
0 голосов
/ 29 января 2019

У меня есть запрос Iif в моем запросе MS Access, который не дает результата.Мне нужно, чтобы он посмотрел на значение поля, и, если оно пустое, покажите значение другого поля, если не пустое, покажите его значение

Покупка: IIf ([NewPurchasePrice] = "", [PurchasePrice], [NewPurchasePrice])

1 Ответ

0 голосов
/ 29 января 2019

Возможно, NewPurchasePrice - не пустая строка, а Null.Вы можете проверить это с помощью IsNull(NewPurchasePrice).Если вы хотите быть уверенным в проверке как Null, так и пустой строки, вы можете написать Nz(NewPurchasePrice)="".Nz() преобразует Null в специальное значение Empty, которое совместимо со значением по умолчанию для типа.Для Integer, например, Nz(Null) = 0, для строк Nz(Null) = "" и т. Д.

Для цены, тип которой, вероятно, Decimal или Double, просто напишите

 Purchase: IIf(IsNull([NewPurchasePrice]),[PurchasePrice],[NewPurchasePrice])
...