Bonjour,
débutant en VBA Access, je rencontre ce problème:
Je dispose d'une table initiale "VolumesReels" avec les champs "Client", "Volume" et "Semaine" où je sais quel client a demandé tel volume lors de telle semaine.
Mon objectif est de réaliser une table listant pour chaque semaine le volume total, tous clients confondus (en bouclant donc sur le nombre de semaines). Ses deux champs sont : « semaine » et « sommeVolume »
Voici le code que j’ai réalisé (s’exécute lorsque je clique sur le bouton d’un formulaire) :
La partie qui met à jour le champ « semaine » fonctionne mais pas celle qui doit mettre à jour sommeVolume. J’obtiens l’erreur « fonction ou variable attendue » qui pointe sur DoCmd.RunSQL et se réfère à Private Sub Commande0_Click().
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
18
19
20
21
22
23
24
25
26
27
28
29
30 Private Sub Commande0_Click() ' Quelques variables Dim rst As DAO.Recordset Dim i As Long Dim strSQL As String ' Ouvrir la table en lecture/écriture Set rst = CurrentDb.OpenRecordset("tableSommeVolume", dbOpenDynaset) ' Boucler sur le nombre de semaines For i = 1 To 52 ' Créer un enregistrement dans la table With DoCmd .SetWarnings False 'Désactive les alertes .RunSQL ("delete * from [tableSommeVolume] where [Semaine] =" & i & ";") .SetWarnings True End With rst.AddNew ' Alimenter les champs rst("semaine") = i strSQL = "SELECT Sum(VolumesReels.Volume) AS SommeDeVolume, VolumesReels.Semaine " & "FROM VolumesReels " & _ "GROUP BY VolumesReels.Semaine " & _ "HAVING VolumesReels.Semaine =" & i & ";" rst("sommeVolume") = DoCmd.RunSQL(strSQL) ' Valider rst.Update Next rst.Close Set rst = Nothing MsgBox "Opération terminée !", vbInformation End Sub
Merci d’avance pour vos réponses et n'hésitez pas à me demander des précisions si besoin.
Partager