Dlookup /排在今天日期之后的下3个字段

时间:2019-04-02 09:20:28

标签: ms-access expression

我创建的数据库表单的一部分将列出最新添加的事件以及我们正在托管的下一个即将发生的3个事件。但是,我无法弄清楚如何获取dlookup表达式以将正确的值返回到表单字段中。

我使用以下表达式返回添加的最新事件:

=DLookup("[Event Name]","[Events]","[Event Date] = DMax('[Event Date]','[Events]')")

对于该领域来说,效果很好,接下来的事件我正在寻找一个表达式,该表达式列出了接下来的3个事件

我使用以下内容列出下一个事件

=DLookUp("[Event Name]","[Events]","[Event Date] >= now()")

这再次工作正常,但是尝试列出事件#2和#3时出现问题。我想知道是否可以使用dlookup表达式/重写表达式以列出接下来的2个即将发生的事件。

我还创建了一个new query来列出now()之后的所有事件,并且正在考虑使用DCount并通过mod引用它,但是我找不到正确的条件

=DCount("  [View - Upcoming Events]![Event Name] "," [View - Upcoming Events]","[Event Name] <= & [Event Name]") Mod 2

=DCount("  [View - Upcoming Events]![Event Name] "," [View - Upcoming Events] "," [Event Name] <= " & [Event Name]) Mod 2

这将始终返回#Name或#Error,具体取决于我如何使用编码。而且我放错了我的大量表达式。

1 个答案:

答案 0 :(得分:1)

在(秘密)查询中,插入 TOP 3 语句以仅选择三个最高记录,例如:

Select TOP 3 [Event Name], [Event Date] 
From [Events]
Where [Event Date] > Date()
Order By [Event Date] Asc