|
|
|
| Добрый День! Есть вычисляемое поле КомН. Мне оно нужно текстовым.
Поля ОбщКолКом и КолКом - числовые.
Подскажите, пожалуйста" почему в этом варианте все нормально проходит.
КомН: IIf([ОбщКолКом]>1 And [КолКомнат]=1;"77"; [КолКомнат])
А в этом варианте - чуть более сложный IIf - возникает ошибка преобразования типа данных
КомН: IIf([ОбщКолКом]>1 And [КолКомнат]=1;"77";IIf(([ОбщКолКом]=0 And ([КолКомнат]=1 Or [КолКомнат]=2 Or [КолКомнат]=3));[КолКомнат];">3")) | |
|
| |
|
|
|
| значит таки возникает ошибка преобразования типа | |
|
| |
|
|
|
| Вот и я уже думаю, принять это как данность что ли...
А с другой стороны, как говорил Гамлет: "Достойно ли смиряться под ударами судьбы, Иль надо оказать сопротивленье?..." | |
|
| |
|
|
|
| а где используете это выражение, мож формат поля описан как числовой, а ифф возвращает текст | |
|
| |
|
|
|
| [покашливая/попёрдывая/покряхтывая] насколько я помню [/покашливая/попёрдывая/покряхтывая]
iif в аксессе, раньше, не знаю как сейчас, никогда не шел по ветке "если условие, то выполнить 1 иначе выполнить 2". он сразу отрабатывает все варианты и 1 и 2 и уже потом выбирает то, которое удовлетворяет условию. приведите все к одному типу. в iifе всмысли. | |
|
| |
|
|
|
| Я создал таблицу с 2-мя числовыми полями и построил запрос с вычисляемым полем на базе вашей формулы. РАБОТАЕТ! У меня А2000, а у вас? Это поле у вас в запросе или в форме? Поля, участвующие в выражении - числовые поля из таблицы, или свободные поля в форме?
Попробуйте так:
IIf([ОбщКолКом]>1 And [КолКомнат]=1;"77";IIf([ОбщКолКом]=0 And [КолКомнат] In (1;2;3);[КолКомнат] & "";">3")) | |
|
| |
|
|
|
| Спасибо всем за ответы! Было сделано так:
IIf([ОбщКолКом]>1 And [КолКомнат]=1;'77';IIf(([ОбщКолКом]=0 And ([КолКомнат]=1 Or [КолКомнат]=2 Or [КолКомнат]=3));nz([КолКомнат];'');'>3')). Это использовалось в запросе на добавление.
Вообще мне подсказали следующую вещь (хотя, может для вас это не будет открытием, а для меня явилось решением очень многих проблем) касательно запросов на добавление: перед тем как выполнить сложный запрос на добавление, сначала можно преобразовать его в запрос на выборку, выполнить его и посмотреть результат. В тех полях, где есть некорректность, видно слово "ошибка". Это дает возможность понять, что происходит.
Вот может поможет кому... | |
|
| |