【问题标题】:Access IIf statement in query在查询中访问 IIf 语句
【发布时间】:2017-07-08 00:36:29
【问题描述】:

我认为这应该是直截了当的。我有一个插入查询。 我正在修改一个查询字段,该字段调用一个执行 dlookup 并计算任何折扣的公共函数。 如果 id 低于某个数字,我只想调用此函数。如果高于该数字,我想用我的表单中的一个字段填充它。 这是原始调用:

GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms!
[createinvoice]!BillCycleID,Forms![createinvoice]![1DayAfterschool15],Forms!
[createinvoice]![TuitionToPay]) AS Fee

但是当我添加 IIF 时,它会崩溃

IIf (Forms![createinvoice]!ScholarID <4
(GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms!
[createinvoice]!BillingCycleID,
Forms![createinvoice]![1DayAfterschool15],
Forms![createinvoice]![TuitionToPay]) , Forms![createinvoice]!TuitionCost )) 
AS Fee

任何想法将不胜感激。

【问题讨论】:

    标签: ms-access iif


    【解决方案1】:

    您的括号有误(您应该删除最后一个和第二个),并且在 if 条件后缺少 ,

    这解决了它:

    IIf (Forms![createinvoice]!ScholarID <4, 
    GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms!
    [createinvoice]!BillingCycleID,
    Forms![createinvoice]![1DayAfterschool15],
    Forms![createinvoice]![TuitionToPay]) , Forms![createinvoice]!TuitionCost) 
    AS Fee
    

    【讨论】:

    • 我做了您的更改(在我的剪切/粘贴中丢失了 , ),但它仍然无法正常工作。我已经检查了我的两个条件,单独完成时它们工作正常。但是当我将它们放入 IIF 语句时,我得到一个“数据不匹配”错误。
    • 我什至颠倒了它们(更改为 >4- 将那个简单的值放入否则执行 dlookup。但同样的事情-
    • ScholarID 上的数据类型是什么?
    猜你喜欢
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多