За допомогою функцій DFirst і DLast можна повернути випадковий запис із певного поля таблиці або запиту, коли вам просто потрібне будь-яке значення з цього поля. Використовуйте функції DFirst і DLast у макросі, модулі, виразі запиту або обчислюваному елементі керування у формі чи звіті.
Синтаксис
DFirst(** вираз, домен [, criteria**] )
DLast(** вираз, домен [, критерії**] )
Функції DFirst і DLast мають такі аргументи:
| Аргумент | Опис |
|---|---|
| expr | Обов’язковий аругмент. Вираз, що визначає поле, для якого потрібно знайти перше або останнє значення. Це може бути рядковий вираз, який визначає поле в таблиці чи запиті, або вираз, який обчислює дані в цьому полі. В виразі можна вказати ім'я поля в таблиці, елемента керування у формі, константи або функції. Якщо вираз включає функцію, вона може бути вбудованою або користувацькою, але не може бути іншою агрегатною функцією домену або агрегатною функцією SQL. |
| домен | Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. |
| criteria | — необов’язковий аргумент. Рядковий вираз, який дає можливість обмежити діапазон даних, до якого застосовується функція DFirst або DLast . Наприклад, умови часто еквівалентні реченню WHERE у виразі SQL без слова WHERE. Якщо умову не вказано, функції DFirst і DLast обчислюють вираз для всього домену. Будь-яке поле, яке включено в умови , також має бути полем у домені; в іншому випадку функції DFirst і DLast повертають Null-значення. |
Примітки
Примітка.
Якщо потрібно повернути перший або останній запис у наборі записів (домен), потрібно створити запит із відсортованими за зростанням або спаданням і встановити для властивості TopValues значення 1. Докладні відомості див. в розділі про властивість TopValues . З модуля Visual Basic for Applications (VBA) також можна створити об'єкт ADO Recordset і повернути перший або останній запис у наборі записів, використовуючи методи MoveFirst або MoveLast.
Приклади
| Вираз | Результати. |
|---|---|
| SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | Повертає випадкове значення з поля "Датазбуту" таблиці "ЗбутТоварів". Якщо таблиця містить "первинний ключ", вона повертає значення "FIRST" стовпця "DateofSale" за зростанням первинного ключа. |
| SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); | Повертає випадкове значення з поля "Датазбуту" таблиці "ЗбутТоварів". Якщо таблиця містить "первинний ключ", вона повертає значення "ОСТАННІЙ" стовпця "Дата продажу" на основі порядку зростання первинного ключа. повертає перший стовпець "ProductID" з таблиці "ProductSales", де значення "Discount" дорівнює "0", і відображає результат у стовпці "FirstDis_ID". |
| SELECT DLast("Ідентифікатор_продукту","ЗбутПродукту","Знижка=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("Ідентифікатор_продукту","Продажі_продукту","Знижка=0"); | Повертає останній "ProductID" з таблиці "ProductSales", де значення "Discount" дорівнює "0", і відображає результат у стовпці "LastDis_ID". |