This works I think
Code:
Function concmultiple(val As Integer) As Double
Dim dbs As DAO.Database
Dim rsTable As DAO.Recordset
Dim rsQuery As DAO.Recordset
Dim multcount As Integer
Dim totvalue As Double
Set dbs = CurrentDb
totvalue = 1
CurrentDb.QueryDefs("qrymyquery").SQL = "SELECT TOP " & val & " tbl1.percentage, tbl1.ID FROM tbl1;"
'Open a dynaset-type Recordset using a saved query
Set rsQuery = dbs.OpenRecordset("qryMyQuery", dbOpenDynaset)
rsQuery.MoveLast
multcount = rsQuery.Fields("ID")
'MsgBox multcount
rsQuery.MoveFirst
With rsQuery
Do While Not rsQuery.EOF
totvalue = totvalue * (.Fields("percentage") + 1)
.MoveNext
Loop
End With
rsQuery.Close
concmultiple = totvalue
End Function
The code could go in any module
And is called from queryrun
you may still have to get round that the ID numbers are necessary
hope it helps anyway
