Метод Application.DMin (Access)
Используйте функцию DMin , чтобы определить минимальное значение в указанном наборе записей (домене).
Синтаксис
expression. DMin (expr, domain, criteria)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Expr | Обязательный | String | Выражение, идентифицирующее поле, для которого требуется найти минимальное или максимальное значение. Это может быть строковое выражение, идентифицирующее поле в таблице или запросе, или выражение, выполняющее вычисление данных в этом поле. В expr можно включить имя поля в таблицу, элемент управления в форме, константу или функцию. Если expr включает функцию, она может быть встроенной или определяемой пользователем, но не может быть другой агрегатной или агрегатной функцией SQL. |
Домен | Обязательный | String | Строковое выражение, идентифицирующее набор записей, составляющих домен. Это может быть имя таблицы или имя запроса, который не требует параметра. |
Criteria | Необязательный | Variant | Необязательное строковое выражение, используемое для ограничения диапазона данных, в котором выполняется функция DMin . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если условие опущено, функция DMin оценивает expr по всему домену. Любое поле, включенное в условия, также должно быть полем в домене; В противном случае функция DMin возвращает значение NULL. |
Возвращаемое значение
Variant
Примечания
Например, можно использовать функцию DMin в вычисляемых элементах управления в отчете, чтобы отобразить наименьшую сумму заказа для конкретного клиента. Кроме того, можно использовать функцию DMin в выражении запроса для отображения всех заказов со скидкой, превышающей минимальную возможную скидку.
Функция DMin возвращает минимальные значения, удовлетворяющие условиям. Если expr идентифицирует числовые данные, функция DMin возвращает числовые значения. Если expr идентифицирует строковые данные, они возвращают строку, которая является первой или последней в алфавитном порядке.
Функция DMin игнорирует значения NULL в поле, на который ссылается expr. Однако если ни запись не удовлетворяет критериям или домен не содержит записей, функция DMin возвращает значение NULL.
Используйте функцию DMin , чтобы указать критерии в строке Условия запроса, в выражении вычисляемого поля в запросе или в строке Обновить до запроса на обновление.
Примечание.
Используйте функцию DMin или функцию Min в выражении вычисляемого поля запроса итогов. Если вы используете функцию DMin , значения вычисляются перед группировкой данных. При использовании функции Min данные группируются перед вычислением значений в выражении поля.
Если вы просто хотите найти минимальное или максимальное значение всех записей в домене, используйте функцию Min или Max .
Хотя можно использовать функцию DMin или DMax , чтобы найти минимальное или максимальное значение из поля во внешней таблице, может оказаться более эффективным создать запрос, содержащий необходимые поля из обеих таблиц, и создать форму или отчет на основе этого запроса.
Пример
В следующем примере возвращаются самые низкие и самые высокие значения из поля Freight для заказов, отправляемых в Соединенное Королевство. Домен — это таблица Orders. Аргумент условия ограничивает результирующий набор записей теми, для которых ShipCountry равен Великобритании.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")
В следующем примере выражение условия включает переменную dteOrderDate
. Обратите внимание, что числовые знаки (#) включаются в строковое выражение, поэтому при объединии строк в них будет заключена дата.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")
В следующих примерах показано, как использовать различные типы условий с функцией DMin .
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DMin("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DMin("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DMin("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DMin("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DMin("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DMin("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DMin("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DMin("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DMin("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DMin("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.