CurrentMonth = Month(CurrentDate)
CurrentYear = Year(CurrentDate)
SQL = "SELECT Spent, MONTH(Date) AS InvMonth, YEAR(Date) As InvYear FROM Invoices WHERE YEAR(Date) = '" & CurrentYear & "' AND MONTH(Date) = '" & CurrentMonth & "'"
RecordSet.Open SQL, Connection, adOpenStatic, adLockOptimistic, adCmdText
Do Until RecordSet.EOF
MTotal(i) = MTotal(i) + RecordSet.Fields("Spent")
RecordSet.MoveNext
Loop
RecordSet.Close
C'est le code que j'ai actuellement pour calculer le total dépensé pour un mois donné. Je souhaite développer ceci pour récupérer les totaux par mois, pour les 12 derniers mois. La façon dont je vois ceci serait de faire une boucle dans la valeur CurrentMonth, et si la valeur CurrentMonth atteint 0, ramener la valeur de CurrentYear back 1. Utiliser la variable de boucle (i) pour construire un tableau de 12 valeurs : MTotal()Construction d'un total mensuel des 12 derniers mois
Qu'en pensez-vous?
Comme écrit, vous n'utilisez pas et donc n'avez pas besoin de sélectionner InvMonth et InvYear puisque vous connaissez la valeur des données d'entrée. Vous devriez également obtenir le SGBD pour faire SUM (Spent), de sorte que vous vous retrouvez avec une ligne pour le mois donné. –
(Vous pouvez conserver InvMonth et InvYear à des fins de débogage, mais si vous le faites, vous devrez GROUP BY lorsque vous ajouterez SUM). –