0
我正在尝试编写一个查询,该查询将在窗体上的标志被关闭时返回所有结果,并在标志打开时排除特定值。我一直在寻找,但无法找到我需要的确切语法。具有特定和通配符条件的IIF语句
当我在iif语句中有'Like'(当它评估为False)时,没有返回任何结果。当我将Like移动到iif语句的外部时,当关闭复选框时,我会得到预期的结果。如果标志打开,我无法得到任何结果。
有谁知道我需要写我的iif语句来获取所有的值,如果标志被关闭,所有的值,但如果标志被打开,“REPLN”?
*完整声明已添加。
SELECT MYTABLE.DPT_NUMBER, MYTABLE.VENDOR_ID AS [Vendor ID], MYTABLE.VENDOR_NAME AS [Vendor Name], Sum(MYTABLE.UNITS_ORDERED) AS [Units Ordered], Sum(MYTABLE.RECEIVED_QTY) AS [Units Received], IIf(Sum([MYTABLE]![RECEIVED_QTY])=0,0,([Units Received]/[Units Ordered])) AS [Received Fill Rate], Sum(MYTABLE.ASN_QTY) AS [ASN Ship QTY], Sum([MYTABLE]![ASN_QTY])-Sum([MYTABLE]![RECEIVED_QTY]) AS [Units In Transit], Sum([MYTABLE]![ASN_QTY])/Sum([MYTABLE]![UNITS_ORDERED]) AS [Fill Rate with In Transit], Sum([MYTABLE]![UNITS_ORDERED])-Sum([MYTABLE]![ASN_QTY]) AS [Units Open], MYTABLE.PO_TYPE
FROM MYTABLE
WHERE (((MYTABLE.PO_TYPE) Like IIf([Forms]![frmMain]![ReplnExclude]=True,([MyTable].[TYPE])<>"REPLN","*")) AND ((MYTABLE.DPT_NUMBER)=[Forms]![frmMain]![DeptNum]) AND ((MYTABLE.GROUP_ID)="RP10") AND ((MYTABLE.PO_EXP_RCT_DATE) Between [Forms]![frmMain]![StartDate] And [Forms]![frmMain]![EndDate]) AND ((MYTABLE.PO_HDR_STATUS)<>"Cancelled") AND ((MYTABLE.PO_DTL_STATUS)<>"Cancelled"))
GROUP BY MYTABLE.DPT_NUMBER, MYTABLE.VENDOR_ID, MYTABLE.VENDOR_NAME, MYTABLE.PO_TYPE
ORDER BY MYTABLE.VENDOR_NAME;
我看到和在该月底所以其他的标准?总之,如果你想看到这一切,删除了子句,所以WHERE应该在你的if语句或和。如果你发布了其他的sql,我们可以给你一个更好的答案。 – Sorceri