Функції DFirst і DLast

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

За допомогою функцій 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".