Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] IIF в Access. Не выполняется условие.

Ответить
Настройки темы
Прочие БД - [решено] IIF в Access. Не выполняется условие.

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: NecroTYN
Дата: 22-01-2012
Работа с Б/Д происходит через программу использующую язык 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)))

Отправлено: 18:31, 08-01-2012

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата NecroTYN:
IIf([ServicesType]="'Подъем на этаж";[Price]=[FloorCalc]-1*50+150) »
А где условие, если ServiceType не равно "подъем на этаж" ?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 15:57, 09-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
IIf([ServicesType]="'Подъем на этаж";[Price]=[FloorCalc]-1*50+150) »
А где условие, если ServiceType не равно "подъем на этаж" ?
я не знаю, не разбираюсь...

Отправлено: 20:20, 09-01-2012 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


попробуй так

Код: Выделить весь код
IIf([ServicesType]="Монтаж"; [Price]=[OrderAmountCalc]/100*[Pct];IIf([ServicesType]="Доставка";	[Pct]="" And [price]="";IIf([ServicesType]="'Подъем на этаж";	[Price]=[FloorCalc]-1*50+150; [Price]="") ) )

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 06:22, 10-01-2012 | #4


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
IIf([ServicesType]="Монтаж"; [Price]=[OrderAmountCalc]/100*[Pct];IIf([ServicesType]="Доставка"; [Pct]="" And [price]="";IIf([ServicesType]="'Подъем на этаж"; [Price]=[FloorCalc]-1*50+150; [Price]="") ) ) »
не сработало

Отправлено: 18:48, 11-01-2012 | #5


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


отредактировли составленное ранее выражение

Код: Выделить весь код
IIf([ServicesType]="Подъем на этаж",([FloorCalc]-1) * 50 + 150,IIf([ServicesType]="Монтаж",[OrderAmountCalc] / 100 * Val(IIf(pct Is Null,1,pct))))
т.е. я попросту вырезал часть кода:

Код: Выделить весь код
iif([ServicesType]="Доставка", [Введите значение поля Price])
но в таком случае при значении "Доставка" в [ServicesType], поле [Price] когда в него вводишь значение остается всегда пустым...

что делать ???

Отправлено: 08:57, 15-01-2012 | #6


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Наверное сразу стоит сказать что работа с Б/Д происходит через программу использующей язык Transact-SQL

Отправлено: 10:07, 15-01-2012 | #7


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


NecroTYN, открою тебе секрет - неважно, какая используется программа, Transact-SQL все равно используется при составлении запросов в SQL.
В твоем же случае это не T-SQL запрос, а обыкновенное условие в ACCESS.
Данную формулу куда подставляешь, в форму или в запрос Access? Может быть, стоит поискать другой способ проверки введенных данных?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:06, 16-01-2012 | #8


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
Данную формулу куда подставляешь, в форму или в запрос Access? Может быть, стоит поискать другой способ проверки введенных данных? »
Вставляю в запрос - Поле [Price] строка "Поле"

Цитата:
Transact-SQL все равно используется при составлении запросов в SQL.
Код: Выделить весь код
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
Цитата Delirium:
Может быть, стоит поискать другой способ проверки введенных данных? »
SWITCH или CASE ???

Последний раз редактировалось NecroTYN, 16-01-2012 в 17:04.


Отправлено: 12:16, 16-01-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] IIF в Access. Не выполняется условие.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Условие на кол-во процессов Pavlon Скриптовые языки администрирования Windows 10 18-01-2011 12:51
Условие на появление окна! depodimon AutoIt 1 18-02-2010 15:27
C/C++ - Условие выбора ShadowMas Программирование и базы данных 4 22-02-2009 21:42
[решено] IF EXIST <условие> goto Pozia AutoIt 1 18-01-2009 19:20
Unable to access the computer. Access is denied Maf1a Microsoft Windows NT/2000/2003 2 13-07-2007 15:42




 
Переход