0

我目前在我的数据库中有一个查询,它确定记录的时间和您查看它的时间之间经过的时间量,它看起来像这样:

SELECT d.ID, Age AS Expr1, DateDiff("h",d.dateOpened,Now()) & " hrs" AS Age, fl.flavorname, pkg.package, st.status
FROM lut_status AS st INNER JOIN (lut_flavorname AS fl INNER JOIN (lut_packaging AS pkg INNER JOIN record_holddata AS d ON pkg.id = d.package) ON fl.id = d.flavor) ON st.id = d.holdstatus
WHERE (((d.holdStatus)<>7))
ORDER BY d.dateOpened;

该 record_holdData 表中还有一个名为 finalDispoDate 的字段,其中保存了暂停项目关闭的日期。我想要做的是创建一个类似的查询,它将使用当前时间来确定保留的年龄,但前提是 finalDispoDate 字段为空;否则它将使用 finalDispoDate 中的值来确定保留的年龄(从创建到处置之间的时间)。

我知道我将如何以编程方式执行此操作,但是通过我设置绑定的方式,我宁愿在查询中完成此操作。在网上找不到任何好的例子。关于我将如何做到这一点的任何想法?蒂亚

4

2 回答 2

1

我认为您可以为此使用 a Switchoriif函数。自从我做任何 MSAccess 以来已经有一段时间了。

以下链接中的示例:

http://www.articlealley.com/ms-access-nested-iif-functions-vs-the-switch-function-1512848.html

于 2011-07-27T01:44:31.477 回答
1

您可以改为应用 Nz 函数,因此如果值为 NULL,您将为它设置默认值,这是一个示例:

从 lut_status 中选择 d.ID, Nz(d.another, "Nop")

于 2011-07-27T01:49:58.127 回答