Bonjour,

J'ai une liste de transactions.
Une requete calcul le total que represente une transaction.
idTransaction, idClient, idMonnaie, DateTransaction, DateFormatte, Apport,Retrait,Apport-Retrait AS SoldeTransaction.
DateFormatte est un format string de date avec les secondes 20060612192515.

Je voudrais créer un troisième champs Solde.
Celui ci serait le total de tous les SoldeTransaction des transactions antérieures pour chaque client en fonction de chaque devise.

Je viens de passer la journée à chercher une fonction ou un système qui fonctionnerait pour calculer ce solde en me basant sur des fonctions que j'avais déja mais ca ne fonctionne pas.

Par exemple j'essaie avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function soldecash(kcodeval As Long, kCompte As Long, kref As String) As Double
Dim dbase As DAO.Database
Dim kmesvaleurs As DAO.Recordset
Dim ksql As String
Dim kStock As Double
Set dbase = CurrentDb
ksql = "SELECT DateFormatte, idClient, idMonnaie, SoldeTransaction FROM 2HistoriqueSoldes " & _
"WHERE (DateFormatte <= " & kref & ") And ( idMonnaie = " & kcodeval & " ) And ( idClient = " & kCompte & " )ORDER BY DateFormatte;"
Set kmesvaleurs = dbase.OpenRecordset(ksql)
 
While Not kmesvaleurs.EOF
 
      kStock = kStock + kmesvaleurs![Solde]
kmesvaleurs.MoveNext
Wend
soldecash = Round(kStock, 5)
End Function
impossible de le faire fonctionner, et je ne vois pas du tout ou est mon erreur. J'ai #Erreur dans la colonne.
Auriez vous une solution autre?

J'ai cherché et je suis surpris de voir si peu de posts abordant le sujet, qui doit être pourtant souvent utilisé.