Dlookup / ранжировать следующие 3 поля после сегодняшней даты - PullRequest
0 голосов
/ 02 апреля 2019

Часть моей формы базы данных, которую я создал, будет содержать список новейших добавленных событий, а также следующие 3 предстоящих события, которые мы проводим. Однако я не могу понять, как заставить выражение dlookup возвращать правильные значения в поле формы.

Я использую следующее выражение для возврата последнего добавленного события:

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

, который прекрасно работает для этого поля, переходя к предстоящим событиям, я искал выражение, которое перечисляет следующие 3 события

Я использую ниже, чтобы перечислить следующее событие

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

Это снова работает нормально, однако проблема возникает при попытке перечисления событий № 2 и № 3 Мне было интересно, если возможно использовать выражение dlookup / переписать выражение, чтобы перечислить следующие 2 предстоящих события.

Я также создал новый запрос , чтобы перечислить все события после этого (), и думал об использовании DCount и обращался к нему вместо этого с модом, однако я не могу найти подходящие критерии

=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 Ответ

1 голос
/ 02 апреля 2019

В своем (секретном) запросе вставьте оператор TOP 3 , чтобы выбрать только три верхние записи , например:

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