我有一个 Microsoft Access 数据库查询,我试图导入 Visual Studio 2005 数据集。

使用 NZ()函数形成查询时,如下所示:

SELECT NZ(tblComponentSpecs.nPurchaseCostQuantity, 0) AS Quantity
FROM tblComponentSpecs;

它出现在数据连接中的功能列表下。

但是,当使用 IIF()函数形成查询时,如下所示:

SELECT IIF(tblComponentSpecs.nPurchaseCostQuantity Is Null, 0, nPurchaseCostQuantity) AS Quantity
FROM tblComponentSpecs;

它出现在视图列表下。

任何人都可以解释原因吗?

有帮助吗?

解决方案

可能这是因为 Nz()是一个VBA函数,而 IIF 是Jet SQL的一部分。 (是的,在VBA中还有一个名为 Iif()的函数。更多信息请参见 Allen Browne的网站。)

我猜 IIF 被翻译为 CASE WHEN 然后创建一个有效的视图, Nz()不会被翻译。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top