Ms access 调试嵌套if语句以获得价格折扣偏差
我有一个嵌套的Ms access 调试嵌套if语句以获得价格折扣偏差,ms-access,Ms Access,我有一个嵌套的if语句,用于识别低于适当单价出售的零件ID,用于给定的价格分割数量(qb=数量分割和向上=单价)。该查询适用于大多数记录,但在大约30%的记录中,适当的价格字段在应该填充时为空。我假设我的查询中一定有一个bug。如果有人能调试,我将不胜感激。理想情况下,您可以为我提供适当的SQL以便复制和粘贴 SELECT tlsp.PART_ID, IIf(IsNull([tlsp].[qb1]) And [tlsp].[last_sell_prc_cstmr]
if
语句,用于识别低于适当单价出售的零件ID
,用于给定的价格分割数量(qb
=数量分割和向上
=单价)。该查询适用于大多数记录,但在大约30%的记录中,适当的价格字段在应该填充时为空。我假设我的查询中一定有一个bug。如果有人能调试,我将不胜感激。理想情况下,您可以为我提供适当的SQL以便复制和粘贴
SELECT tlsp.PART_ID,
IIf(IsNull([tlsp].[qb1])
And [tlsp].[last_sell_prc_cstmr]<[tlsp].[last_sell_prc_cstmr],
[tlsp].[last_sell_prc_cstmr],
IIf([tlsp].[last_order_qty_by_cstmr]>=[tlsp].[qb1]
And [tlsp].[last_order_qty_by_cstmr]<[tlsp].[qb2]
And [tlsp].[last_sell_prc_cstmr]<[tlsp].[up1],
[tlsp].[up1],
IIf([tlsp].[last_order_qty_by_cstmr]>=[tlsp].[qb2]
And [tlsp].[last_order_qty_by_cstmr]<[tlsp].[qb3]
And [tlsp].[last_sell_prc_cstmr]<[tlsp].[up2],
[tlsp].[up2],
IIf([tlsp].[last_order_qty_by_cstmr]>=[tlsp].[qb3]
And [tlsp].[last_sell_prc_cstmr]<[tlsp].[up3],
[tlsp].[up3])))) AS [proper price]
FROM tblLastSellPriceToCustomer_tmp AS tlsp;
选择tlsp.PART\u ID,
IIf(IsNull([tlsp].[qb1])
和[tlsp].[last_sell_prc_cstmr]=[tlsp].[qb1]
和[tlsp]。[last_order_quantity_by_cstmr]看这一点,你似乎遗漏了最后一个错误部分
IIf (arg, true part, false part)
你的声明:
SELECT t.PART_ID,
IIf(arg,true,
IIf(arg,true,
IIf(arg,true,
IIf(arg,true,MISSING FALSE)))) AS proper price
FROM tblLastSellPriceToCustomer_tmp AS tlsp;
我已将缺少的部分标记为,缺少的部分标记为FALSE我为FALSE添加了null,但没有任何效果。请建议如果您希望避免null,我不认为null是错误部分的好选择。您需要选择默认价格。选择一个真正突出的价格可能是一个好主意,只是为了检查一下,所以您可能希望尝试1000001
现在,对于错误部分。它不是一个幻数,它正在调试“只是为了检查”和“暂时”。OP似乎不知道空值来自何处。我同意你们两人的看法--“幻数”在调试过程中非常有用,只要你记得删除它们。。。。