En fait, dans ce cas précis, on peut peut-être simplement éviter de compter les enregistrements :
Langage: Visual Basic
Public Function rstCmdesNum(rst As DAO.Recordset, indexchamp As Integer) As String
Dim s As String
s = ""
rst.MoveFirst
Do While Not rst.EOF
If s <> "" Then s = s & ","
s = s & rst.Fields(indexchamp)
rst.MoveNext
Loop
rstCmdesNum = s
End Function