Ошибка синтаксиса функции IIf

red-white19
Дата: 12.01.2012 23:07:39
Здравствуйте!
Имеется небольшая исходная таблица (см. приложение в формате Excel). Необходимо средствами Microsoft Access создать запрос, в результате которого получилась бы таблица, состоящая из полей "Номер телефона", "Фамилия и инициалы владельца телефона", "Сведения о телефонной станции" и "Общая стоимость абонентских услуг".
С первыми тремя полями проблем нет, четвертое необходимо получить путем вычисления в процессе запроса.
Поясню: В случае когда "признак оплаты" = "Абонентская", "Общая стоимость" = значению в поле "Стоимость телефонных услуг". А когда "признак оплаты" = "Повременная", "Общая стоимость" = значению в поле "Стоимость телефонных услуг" * "Количество минут разговора при повременной оплате".

Для осуществления этого вычисления я ввожу следующее выражение;

=IIf( [Таблица1]![Признак оплаты] ="Абонентская", [Таблица1]![Стоимость телефонных услуг] , [Таблица1]![Стоимость телефонных услуг] * [Таблица1]![Количество минут разговора при повременной оплате] )

В ответ получаю "Ошибка синтаксиса во введенном выражении. Пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо задана строка без кавычек." При этом курсор указывает на ошибку в месте постановки первой запятой.

Помогите, пожалуйста, разобраться. Искренне признателен.
mds_world
Дата: 12.01.2012 23:12:35
Вы пишете в конструкторе (это не вопрос, а приговор :-)). Замените запятые на точку с запятой


Второй за сегодня такой же точно
OLEG_ZH
Дата: 12.01.2012 23:12:41
red-white19
=IIf( [Таблица1]![Признак оплаты] ="Абонентская", [Таблица1]![Стоимость телефонных услуг] , [Таблица1]![Стоимость телефонных услуг] * [Таблица1]![Количество минут разговора при повременной оплате] )

=IIf( [Таблица1]![Признак оплаты] ="Абонентская"; [Таблица1]![Стоимость телефонных услуг]; [Таблица1]![Стоимость телефонных услуг] * [Таблица1]![Количество минут разговора при повременной оплате] )
red-white19
Дата: 12.01.2012 23:17:25
За помощь Вам огромное спасибо!
Запятые я ставил лишь потому, что в поддержке на оф. сайте Microsoft Office все примеры условных выражений приведены с использованием запятых.

ВЫРАЖЕНИЕ ОПИСАНИЕ
=IIf([Подтверждение] = "Да", "Заказ подтвержден", "Заказ не подтвержден")
Отображается сообщение «Заказ подтвержден», если поле «Подтверждение» имеет значение «Да». В противном случае отображается сообщение «Заказ не подтвержден»

=IIf(IsNull([Страна])," ", [Страна])
Отображается пустая строка, если поле «Страна» имеет значение Null. В противном случае отображается значение поля «Страна».

=IIf(IsNull([Область]),[Город]&" "& [Индекс], [Город]&" "&[Область]&" " &[Индекс])
Если поле «Область» имеет значение Null, отображаются значения полей «Город» и «Индекс». В противном случае отображаются значения полей «Город», «Область» и «Индекс».

=IIf(IsNull([ДатаНазначения] - [ДатаИсполнения]), "Проверьте отсутствующую дату", [ДатаНазначения] - [ДатаИсполнения]) Отображается сообщение «Проверьте отсутствующую дату», если результат вычитания значения поля «ДатаИсполнения» из значения поля «ДатаНазначения» равен пустому значению (Null). В противном случае отображается разность значений полей «ДатаНазначения» и «ДатаИсполнения».

Думал, что использование запятых - это аксиома. Ну или приговор)
ТвердолобыйЛамер
Дата: 12.01.2012 23:19:47
red-white19
Думал, что использование запятых - это аксиома. Ну или приговор)

На сайте приведены примеры в режиме SQL,а Вы пишете в конструкторе запросов.Переключитесь в в режим SQL,и там будут запятые.
red-white19
Дата: 12.01.2012 23:21:25
Понял! Спасибо за пояснение!