Me gustó el uso de DGM de la instrucción IIF y el uso de David del bucle For/Next, así que los estoy combinando.
Como VBA en acceso no tiene una verificación de tipo estricta, voy a utilizar varients para conservar todos los números, enteros y decimales, y volver a escribir el valor de retorno.
Felicitaciones a HansUP por capturar mi verificación de parámetros :)
Comentarios añadidos para hacer que el código sea más amigable.
Option Compare Database
Option Base 0
Option Explicit
Function f_var_Min(ParamArray NumericItems()) As Variant
If UBound(NumericItems) = -1 Then Exit Function ' No parameters
Dim vVal As Variant, vNumeric As Variant
vVal = NumericItems(0)
For Each vNumeric In NumericItems
vVal = IIf(vNumeric < vVal, vNumeric, vVal) ' Keep smaller of 2 values
Next
f_var_Min = vVal ' Return final value
End Function
Function f_var_Max(ParamArray NumericItems()) As Variant
If UBound(NumericItems) = -1 Then Exit Function ' No parameters
Dim vVal As Variant, vNumeric As Variant
vVal = NumericItems(0)
For Each vNumeric In NumericItems
vVal = IIf(vNumeric < vVal, vVal, vNumeric) ' Keep larger of 2 values
Next
f_var_Max = vVal ' Return final value
End Function
La única diferencia entre las 2 funciones es el orden de vVal y vNumeric en la instrucción IIF.
El para cada cláusula usa lógica interna de VBA para controlar el bucle y la comprobación de límites de matriz, mientras que "Base 0" inicia el índice de matriz en 0.
Eso es más útil que rechazar votos un año después de la pregunta. :) – DGM
Me sorprende que no haya recibido una respuesta antes, dado lo trivial que es el problema.Tal vez se deba a que la pregunta era de confrontación (es decir, acceso malicioso) para que las personas que conocían la respuesta estuvieran demasiado desconectadas como para molestarse en tratar de ayudar a alguien que parece tener algo así como un chip en su hombro. –
¿COMPRENDE por qué una herramienta de desarrollo de bases de datos no tendría una función así? Hay omisiones mucho mayores relacionadas con la base de datos que una función como esta. –