假设我有两个表要外连接
Tab1:
ID Nam
1 Joe
2 Moe
3 Flo
Tab2:
ID Val y w
1 stuff 66 33
2 duff 67 44
并且其中一个结果列是派生的——即,它是另外两个列的函数
SELECT Tab1.*, Tab2.Val, Tab2.y, Tab2.w, week(Tab2.y,Tab2.w) AS week
FROM Tab1 LEFT JOIN Tab2 ON Tab1.ID = Tab2.ID
正如预期的那样,在没有连接的情况下,空值出现在实际列下,但#Error
出现在派生列下:
ID Nam Val y w week
1 Joe stuff 66 33 66w33
2 Moe duff 67 44 67w44
3 Flo #Error
首先,我认为我可以#Error
通过有用的处理空字符串函数来防止,Nz()
但Nz(week(Tab2.y,Tab2.w))
什么也没做。接下来,我认为这是我必须在我的week()
函数中处理的事情——即处理案例IsNull(y)
——但我发现它甚至不会被“空案例”调用。
如何防止#Error
值显示?
您需要在函数调用之前
Nz
应用将 null 替换为另一个值的函数 ( ) 。利用:week
您可能还需要针对 special
Value_for_y
或Value_for_w
inside进行测试week()
。