Функции DFirst и DLast можно использовать для возврата случайной записи из определенного поля в таблице или запросе, если вам просто требуется любое значение из этого поля. Используйте функции DFirst и DLast в макросе, модуле, выражении запроса или вычисляемом элементе управления в форме или отчете.
Синтаксис
DFirst( ** expr, domain [, criteria**] )
DLast( ** expr, domain [, criteria**] )
Функции DFirst и DLast принимают следующие аргументы:
| Аргумент | Описание |
|---|---|
| выражение | Обязательный аргумент. Выражение, определяющее поле, для которого нужно найти первое или последнее значение. Это может быть строковое выражение, идентифицирующее поле в таблице или запросе, или выражение, выполняющее вычисление данных в этом поле. В expr можно включить имя поля в таблицу, элемент управления в форме, константу или функцию. Если expr включает функцию, она может быть встроенной или определяемой пользователем, но не может быть другой агрегатной или агрегатной функцией SQL. |
| подмножество | Обязательный аргумент. Строковое выражение, определяющее набор записей, которые образуют подмножество. |
| условия | — необязательный аргумент. Строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DFirst или DLast . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если критерии опущены, функции DFirst и DLast оценивают expr для всего домена. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функции DFirst и DLast возвращают значение NULL. |
Замечания
Примечание
Если вы хотите вернуть первую или последнюю запись в наборе записей (домен), создайте запрос, отсортированный по возрастанию или убыванию, и задайте для свойства TopValues значение 1. Дополнительные сведения см. в разделе Свойства TopValues . В модуле Visual Basic для приложений (VBA) можно также создать объект ADO Recordset и использовать метод MoveFirst или MoveLast, чтобы вернуть первую или последнюю запись в наборе записей.
Примеры
| Выражение | Результаты |
|---|---|
| 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". |