Функции DFirst и DLast можно использовать для возврата случайной записи из определенного поля в таблице или запросе, если вам просто требуется любое значение из этого поля. Используйте функции DFirst и DLast в макрос, модуле, выражении запроса или вычисляемый элемент управления в форме или отчете.
Синтаксис
DFirst ( выражение , подмножество [, условия] )
DLast ( выражение , подмножество [, условия] )
Функции DFirst и DLast принимают следующие аргументы:
Аргумент |
Описание |
выражение |
Обязательный аргумент. Выражение, определяющее поле, для которого нужно найти первое или последнее значение. Это может быть строковое выражение поля в таблице или запросе либо выражение, которое выполняет вычисление данных в этом поле. В выражение можно включить имя поля в таблице, элемента управления в форме, константы или функции. Выражение может включать в себя встроенную или пользовательскую функцию, но не другую агрегатную функцию по подмножеству или агрегатную функцию SQL. |
подмножество |
Обязательный аргумент. Строковое выражение, определяющее набор записей, которые образуют подмножество. |
условия |
Необязательный. Строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DFirst или DLast . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если критерии опущены, функции DFirst и DLast оценивают expr для всего домена. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функции DFirst и DLast возвращают значение NULL. |
Замечания
Примечание: Если вы хотите вернуть первую или последнюю запись в наборе записей ( подмножество ), следует создать запрос, отсортированный по возрастанию или по убыванию, и присвоить свойству TopValues значение 1. Дополнительные сведения см. в разделе Свойства TopValues . В модуле Visual Basic для приложений (VBA) можно также создать объект ADO Recordset и использовать метод MoveFirst или MoveLast, чтобы вернуть первую или последнюю запись в наборе записей.
Примеры
Expression |
Результаты |
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); |
Возвращает случайное значение из поля DateofSale таблицы ProductSales. Если таблица содержит "первичный ключ", она вернет значение "FIRST" "DateofSale" на основе возрастающего порядка первичного ключа. |
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); |
Возвращает случайное значение из поля DateofSale таблицы ProductSales. Если таблица содержит "первичный ключ", она вернет значение LAST "DateofSale" в зависимости от возрастающего порядка первичного ключа. Возвращает первый "ProductID" из таблицы "ProductSales", где значение "Скидка" равно "0", и отображает результат в столбце "FirstDis_ID". |
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); |
Возвращает значение Last "ProductID" из таблицы "ProductSales", где значение "Скидка" равно "0", и отображает результат в столбце "LastDis_ID". |