Método Application.DMax (Access)

Use la función DMax para determinar el valor máximo de un conjunto de registros especificado (un dominio).

Sintaxis

expresión. DMax (Expr, Domain, Criteria)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
Expr Obligatorio String Una expresión que identifica el campo para el que quiere encontrar el valor mínimo o máximo. Puede ser una expresión de cadena que identifica un campo de una tabla o consulta, o una expresión que realiza cálculos con los datos de ese campo. En expr, puede incluir el nombre de un campo en una tabla, un control de un formulario, una constante o una función. Si expr incluye una función, puede ser integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado de SQL.
Dominio Obligatorio String Una expresión de cadena que identifica el conjunto de registros que constituyen el dominio. Puede ser un nombre de tabla o de consulta para una consulta que no requiere ningún parámetro.
Criteria Opcional Variant Expresión de cadena opcional que se usa para restringir el intervalo de datos en el que se realiza la función DMax . Por ejemplo, criteria suele ser equivalente a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si se omite criteria , la función DMax evalúa expr en todo el dominio. Cualquier campo incluido en los criterios también debe ser un campo en el dominio; De lo contrario, la función DMax devuelve un valor Null.

Valor devuelto

Variant

Comentarios

Por ejemplo, podría usar la función DMax en los controles calculados de un informe para mostrar el importe de pedido más grande para un cliente determinado.

La función DMax devuelve el valor máximo que satisface los criterios. Si expr identifica datos numéricos, la función DMax devuelve valores numéricos. Si expr identifica datos de cadena, se devuelve la cadena que aparece alfabéticamente en primer o en último lugar.

La función DMax omite los valores Null en el campo al que hace referencia expr. Sin embargo, si ningún registro satisface los criterios o si el dominio no contiene registros, la función DMax devuelve un valor Null.

Use la función DMax para especificar criterios en la fila Criterios de una consulta, en una expresión de campo calculada en una consulta o en la fila Actualizar a de una consulta de actualización.

Nota:

Use la función DMax o la función Max en una expresión de campo calculada de una consulta de totales. Si usa la función DMax, los valores se evalúan antes de que se agrupen los datos. Si usa la función Max, los datos se agrupan antes de que se evalúen los valores de la expresión de campo.

Use la función DMax en un control calculado cuando necesite especificar criterios para restringir el intervalo de datos con el que se va a ejecutar la función. Por ejemplo, para mostrar los gastos de envío máximos de un pedido enviado a California, establezca la propiedad ControlSource de un cuadro de texto en la siguiente expresión:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Si simplemente desea encontrar el valor mínimo o máximo de todos los registros del dominio, use la función Min o Max .

Aunque se puede usar la función DMin o DMax para obtener el valor mínimo o máximo de un campo de una tabla externa, quizás resulte más eficaz crear una consulta que contenga los campos que necesitemos de ambas tablas y basar el formulario o informe en esa consulta.

Ejemplo:

En el siguiente ejemplo se devuelven los valores máximo y mínimo del campo Freight (Gastos de envío) de los pedidos enviados al Reino Unido. El dominio es la tabla denominada Orders (Pedidos). El argumento criteria restringe el conjunto de registros resultante a aquéllos para los que el valor de ShipCountry (País de envío) es UK.

Dim curX As Currency 
Dim curY As Currency 
 
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'") 
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")

En el siguiente ejemplo, el argumento criteria incluye el valor actual de un cuadro de texto denominado OrderDate. El cuadro de texto está enlazado a un campo OrderDate de una tabla Orders. Observe que la referencia al control no se encuentra entre las comillas dobles (") que denotan las cadenas. De esta forma, se garantiza que cada vez que se llama a la función DMax, Microsoft Access obtenga el valor actual del control.

Dim curX As Currency 
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _ 
    & Forms!Orders!OrderDate & "#")

Los ejemplos siguientes muestran cómo usar varios tipos de criterios con la función DMax.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DMax("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DMax("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DMax("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DMax("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DMax("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DMax("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DMax("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.