Public Function fnTotalAlternates (strOddEven as String) as Double
Dim MyDb as DAO.Database
Dim MyRs as DAO.Recordset
Set MyDb = currentDb()
Set MyRs = MyDb.openrecordset(Your Recordsource)
Select Case strOddEven
Case "Odd"
do until MyRs.EOF
MyRs.movefirst
fnTotalAlternates = fnTotalAlternates + MyRS("FieldToAdd")
MyRs.moveNext
MyRs.moveNext
loop
exit function
Case "Even"
do until MyRs.EOF
MyRs.movefirst
MyRs.moveNext
fnTotalAlternates = fnTotalAlternates + MyRS("FieldToAdd")
MyRs.moveNext
MyRs.moveNext
loop
exit function
end select
Set MyRs = nothing
Set MyDb = nothing
end function
NB Not tested or debugged!
Also Odd will total records 0,2,4 etc as index starts at 0 despite it being the 1st record