[AccessD] highest value of 4 variables - urgent

jwcolby jwcolby at colbyconsulting.com
Sun Nov 4 06:37:43 CST 2007


BTW. to test this simply go to the debug window and enter:

?MaxOfVars(4,2,5,4,8,4,9,0)

and hit enter.  

Place a breakpoint at lvarmax=varvalues(0) and then step if you want to
watch it run.

Next do 

?MaxOfVars(5,2,6,7,4)

Next do 

?MaxOfVars()



John W. Colby
Colby Consulting
www.ColbyConsulting.com 
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Sunday, November 04, 2007 7:32 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] highest value of 4 variables - urgent

Probably the easiest way to do this is to turn the set of variables into an
array of variables.

'.Comments  :
'.Parameters:
'.Sets      :
'.Returns   :
'.Created by: Colby Consulting
'.Created   : 11/4/2007 7:27:49 AM
Function MaxOfVars(ParamArray varValues() As Variant) On Error GoTo
Err_MaxOfVars Dim lvarVal As Variant Dim lvarMax As Variant
    lvarMax = varValues(0)
    For Each lvarVal In varValues
        If lvarVal > lvarMax Then
            lvarMax = lvarVal
        End If
    Next lvarVal
    MaxOfVars = lvarMax
Exit_MaxOfVars:
Exit Function
Err_MaxOfVars:
    Select Case Err
    Case 9	'No values passed in.  Return what you want here.  Will
currently return a null
	  MaxOfVars = null
        Resume Exit_MaxOfVars
    Case Else
        MsgBox Err.Description, , "Error in Function Module1.MaxOfVars"
        Resume Exit_MaxOfVars
    End Select
    Resume 0    '.FOR TROUBLESHOOTING
End Function
Then you can simply:

1) Set the lvarMax = the first value in the array
2) Iterate through the array
3) Check if lvarVal > lvarMax
4) If it is set lvarmax = lvarVal
5) When you are done lvarMax is equal to the largest value in the array
6) Return lvarMax

7) if nothing is passed in you hit the error handler with a value of 9 and
return a null

Now you can pass in any number of values and always get back the max value
regardless of the number passed in.

BTW, the function is tested and works.

John W. Colby
Colby Consulting
www.ColbyConsulting.com
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti
Sent: Saturday, November 03, 2007 6:57 PM
To: Access D Normal List
Subject: [AccessD] highest value of 4 variables - urgent

maybe i am having a vague moment - but what function can I use to get the
highest value of 4 variables, eg:


eg. I want to know x where x is the highest of (var1, var2, var3, var4)

ta
______________________________________
Kath Pelletti
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com

--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list