Bonjour a tous
Ma base comporte un form qui permet de lancer des appels de fonds(en gros creer des factures) dont voici le code:
J'aimerais qu'a la fin de la procedure apparaisse une msgbox avec le nom des clients pour lesquelles les appels ont été lancés sous forme de liste, de la manière suivante:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 Private Sub Commande16_Click() Dim intReponse As Integer Dim intProjet As Integer Dim strCritere As String Dim intAvancement As Integer Dim db As DAO.Database Dim rst As DAO.Recordset Dim MonCpte As Integer Dim strAchevement As String MonCpte = 0 intProjet = Me.[avan lien projet] 'n° de projet Debug.Print intProjet intAvancement = Me.[avan %] ' avancement% Debug.Print intAvancement strAchevement = Me.[avan achevement] Debug.Print strAchevement intReponse = MsgBox("Voulez-vous lancer les appels de fonds?", vbQuestion + vbYesNo, "Avancement") If intReponse = vbYes Then Set db = CurrentDb Set rst = db.OpenRecordset("client par projet", dbOpenDynaset) 'ouvre la requete strCritere = ("[projet id]=" & intProjet & " And Not IsNull([cli date signa contrat])") 'cherche les champs ou il existe une date de signature 'pas de signature, pas d'appel de fonds Debug.Print strCritere rst.FindFirst strCritere While Not rst.NoMatch Set db = CurrentDb Set rst2 = db.OpenRecordset("tbl_AppelDeFonds", dbOpenDynaset) 'ouvre la table pour ajout enregistrement Debug.Print rst("cli nom") 'nom du client dans la requete rst2.AddNew rst2("AdF lien client") = rst("client id") rst2("AdF lien projet") = intProjet rst2("AdF Avancement trx") = intAvancement rst2("AdF Achevement") = strAchevement rst2("AdF Montant appelé") = ((rst("SommeDebie prix de vente") * (intAvancement / 100)) - Nz(rst("SommeDeAdF Montant"), 0)) rst2("AdF Date appel") = Date rst2.Update MonCpte = MonCpte + 1 rst.FindNext strCritere Wend rst2.Close Set rst2 = Nothing rst.Close End If MsgBox (MonCpte & " " & "appels de fonds ont été lancés pour les clients suivants:") End Sub
X appels de fonds ont été lancés pour les clients suivants:
AAAAAA
BBBBBBBB
CCCCCCCCC
DDDDDDD
Mais je ne sais pas comment "stocker" les variables jusqu'a la fin de la procédure pour pouvoir les réutiliser.
Merci de votre aide
Partager