MS Access Expression Builder: недопустимое использование вертикальных панелей
Мне вручили старую базу доступа Access, которую кто-то еще построил некоторое время назад. Я добавил одно поле к существующему запросу, но когда я пошел, чтобы сохранить его, выдал ошибку в другом поле, я никогда не трогал. Сообщение об ошибке: неверное использование вертикальных полос. Вот выражение, которое ему не понравилось, но каким-то образом они смогли сохранить его в прошлом:
DaysOpened:
IIf([re_close_date] Is Null|IIf([close_date] Is Null|Date()-[date_reported]|Date()-[reopen_dt]))
Я пытался переключиться на запятые и &, но не могу найти правильную комбинацию, чтобы восстановить это, если кто-то может помочь? В основном... если re_close_date имеет значение null, проверьте, является ли close_date нулевым. Если да для обоих, запись все равно должна быть Открыта, поэтому нам нужно рассчитать DaysOpened, взяв текущую Date и вычитая date_reported или current Date - reopen_dt, если запись была открыта заново. Благодарю.
2 ответа
Замените эти столбцы, чтобы получить правильный синтаксис:
IIf([re_close_date] Is Null, IIf([close_date] Is Null, Date()-[date_reported], Date()-[reopen_dt]))
или возможно:
IIf([re_close_date] Is Null, IIf([close_date] Is Null, Date()-[date_reported], Date()-[reopen_dt]), 0)
Наконец, решил эту проблему, переключив мои региональные настройки разделителя списков с вертикальной черты на запятую и переключившись на функцию IsNull(). Вот что наконец сработало:
DaysOpened: IIf (IsNull ([Re_Close_Date]), IIF (IsNull ([Close_Date]), Date () - [Date_Reported], Date () - [Reopen_dt]), 0)
Что расстраивает, так это даже если вы используете Expression Builder, он скажет вам использовать вертикальные черты (вместо запятых) для операторов IIf, но затем выдаст сообщение об ошибке вертикальной черты, как только вы попытаетесь запустить его. Чтобы решить эту проблему, измените настройки ОС в Windows следующим образом:
Панель управления> Регион и язык> щелкните "Дополнительные параметры" на вкладке "Формат"> измените значение разделителя списка с | к Нажмите Применить, а затем поменяйте местами вертикальные черты для запятых в выражении