![]() |
IIF в Access. Не выполняется условие.
Работа с Б/Д происходит через программу использующую язык Transact-SQL
Здравствуйте господа форумчане !!! Очень нужна ваша помощь есть следующая Б/Д (Это только малая ее часть) Нужно чтобы запрос qdfServices выполнялся следующим образом: Если [ServicesType] = 'Монтаж' то [Price] = [OrderAmountCalc] / 100 *[Pct] Если [ServicesType] = 'Доставка' то [Pct] = Null а поле [Price] заполнять с клавиатуры Если [ServicesType] = 'Подъем на этаж' то [Price] = [FloorCalc] - 1 *50 + 150 Составили вот такую формулу, Access пишет что не проходит IIf([ServicesType]="Монтаж";[Price]=[OrderAmountCalc]/100*[Pct];IIf([ServicesType]="Доставка";[Pct]="" And [price]="";IIf([ServicesType]="'Подъем на этаж";[Price]=[FloorCalc]-1*50+150))) |
Цитата:
|
Цитата:
|
попробуй так
Код:
IIf([ServicesType]="Монтаж"; [Price]=[OrderAmountCalc]/100*[Pct];IIf([ServicesType]="Доставка"; [Pct]="" And [price]="";IIf([ServicesType]="'Подъем на этаж"; [Price]=[FloorCalc]-1*50+150; [Price]="") ) ) |
Цитата:
|
отредактировли составленное ранее выражение
Код:
IIf([ServicesType]="Подъем на этаж",([FloorCalc]-1) * 50 + 150,IIf([ServicesType]="Монтаж",[OrderAmountCalc] / 100 * Val(IIf(pct Is Null,1,pct)))) Код:
iif([ServicesType]="Доставка", [Введите значение поля Price]) что делать ??? |
Наверное сразу стоит сказать что работа с Б/Д происходит через программу использующей язык Transact-SQL
|
NecroTYN, открою тебе секрет - неважно, какая используется программа, Transact-SQL все равно используется при составлении запросов в SQL.
В твоем же случае это не T-SQL запрос, а обыкновенное условие в ACCESS. Данную формулу куда подставляешь, в форму или в запрос Access? Может быть, стоит поискать другой способ проверки введенных данных? |
Цитата:
Цитата:
Код:
SELECT tblServices.ID, tblServices.QuantityServices, tblServices.AmountServices, tblServices.Pct, tblServices.OrderID, tblOrdersProducts.Amount AS OrderAmountCalc, tblSales.Floor AS FloorCalc, tblServices.ServicesType, IIf(ServicesType="Подъем на этаж",(FloorCalc-1) * 50 + 150,IIf(ServicesType="Монтаж",OrderAmountCalc / 100 * Val(IIf(pct Is Null,1,pct)))) AS PriceServices FROM (tblServices LEFT JOIN tblOrdersProducts ON tblServices.OrderID = tblOrdersProducts.OrderID) LEFT JOIN tblSales ON tblServices.OrderID = tblSales.OrderID Цитата:
|
Время: 01:24. |
Время: 01:24.
© OSzone.net 2001-