Метод Application.DFirst (Access)
Используйте функцию DFirst для возврата случайной записи из определенного поля в таблице или запросе, когда вам нужно любое значение из этого поля.
Синтаксис
expression. DFirst (Expr, Domain, Criteria)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Expr | Обязательный | String | Выражение, идентифицирующее поле, из которого требуется найти первое или последнее значение. Это может быть строковое выражение, идентифицирующее поле в таблице или запросе, или выражение, выполняющее вычисление данных в этом поле. В expr можно включить имя поля в таблицу, элемент управления в форме, константу или функцию. Если expr включает функцию, она может быть встроенной или определяемой пользователем, но не может быть другой агрегатной или агрегатной функцией SQL. |
Домен | Обязательный | String | Строковое выражение, идентифицирующее набор записей, составляющих домен. |
Criteria | Необязательный | Variant | Необязательное строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DFirst . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без wrd WHERE. Если условие опущено, функция DFirst оценивает expr по всему домену. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функция DFirst возвращает значение NULL. |
Возвращаемое значение
Variant
Примечания
Примечание.
Если вы хотите вернуть первую или последнюю запись в наборе записей (домен), создайте запрос, отсортированный по возрастанию или убыванию, и задайте для свойства TopValues значение 1. В Visual Basic можно также создать объект ADO Recordset и использовать метод MoveFirst или MoveLast для возврата первой или последней записи в наборе записей.
Пример
В следующих примерах показано, как использовать различные типы условий с функцией DFirst .
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DFirst("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DFirst("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DFirst("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DFirst("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DFirst("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DFirst("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DFirst("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DFirst("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DFirst("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DFirst("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.