2013-07-11 1 views
0

Я работаю в Access и мне нужно назначить определенные записи с флагами, в зависимости от того, была ли запись произведена или заказана в окне даты в форме. У меня возникли проблемы с выражением для этого (я использую вид дизайна, чтобы сделать это), который начал так:Выражение выражения axess вложенной синтаксической ошибки оператора Iif()

Designation: 
IIf([InvoiceList.PurchaseOrderDt] Between [Forms]![Date Range]![StartDate] 
    And [Forms]![Date Range]![EndDate], 
    "New Backlog", 
    IIf(([InvoiceList.PurchaseOrderDate] < [Forms]![Date Range]![StartDate]) 
     AND (([InvoiceList.FinalBillDate] Is Null) 
     OR ([InvoiceList.FinalBillDate] > [Forms]![Date Range]![StartDate])), 
     “Old Backlog”, 
    ””) 
    ) 

я получил ошибку синтаксиса ("Введенное выражение имеет недопустимый синтаксис, вы можете иметь введенный операнд без оператора »), а Backlog" выделен во втором выражении. Поскольку я немного новичок в доступе и SQL, я решил больше вложить инструкцию IIF и избавиться от операторов AND и OR, потому что я не был уверен, как они обрабатываются в Access/SQL. Это превратилось в следующее:

Designation: 
IIf([InvoiceList.PurchaseOrderDt] Between [Forms]![Date Range]![StartDate] 
    And [Forms]![Date Range]![EndDate], 
    "New Backlog", 
    IIf([InvoiceList.PurchaseOrderDt] < [Forms]![Date Range]![StartDate], 
     IIf([InvoiceList.FinalBillDate] Is Null, 
      “Old Backlog”, 
      IIf([InvoiceList.FinalBillDate] > [Forms]![Date Range]![StartDate], 
       “Old Backlog”, 
       ””) 
      ) 
     ,””) 
    ) 

Но у меня такая же ошибка. Возможное понимание второго кода заключалось в том, что первый «Old Backlog» Backlog" по-прежнему выделялся, а не второй. Это заставляет меня думать, что это может быть проблема с использованием «Is Null», но изменение этого выражения на IsNull([InvoiceList.FinalBillDate]) не изменило проблему.

Следует также отметить, что удаление выделенной части кода избавило от ошибки, но мне нужно это второе обозначение.

Моя последняя мысль состоит в том, что это как-то связано с ". Я использую. Я с нетерпением жду вашего выступления.

Я также пытался отформатировать свой код, чтобы его было легко читать.

ответ

0

Мне кажется, что двойные кавычки являются отвратительными. В частности, это касается доступа. Удалите «Old Backlog» и повторно введите его.

+0

Бог, черт возьми, это было – GMoany

Смежные вопросы