En fait on va faire la même chose mais en VBA parceque sinon c'est un peu lourd.
De plus il faut se servir des variables globales en dernier recours quand on n'a pas d'autre solution.
Le défaut des variables globales c'est que n'importe où dans le code on peut la manipuler et changer sa valeur ce qui peut avoir des conséquences assez désagréables.
Ici le code modifié.
A+
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 dim NumChqEncaisse as string: NumChqEncaisse=dfirst("NumCheque", "Cheque", "[ChqEncaisse]=True")) & "" 'le & "" évite d'avoir à gérer les Nuls si il n'y a pas de chêque encaissé. Dim MontantChequeEncaisse as variant: MontantChequeEncaisse=DFirst("MontantChq", "Cheques", "NumChq=""" & NumChqEncaisse & """") 'S'assure que le montant est un réel double if isnull(MontantChequeEncaisse ) then MontantChequeEncaisse =cdbl(0) else MontantChequeEncaisse =cdbl(MontantChequeEncaisse) end if Dim MontantMouvement as variant: MontantMouvement=DSum("MontantMvt", "Mouvements", "NumChq=""" & NumChqEncaisse & """") 'S'assure que le montant est un réel double if isnull(MontantMouvement ) then MontantChequeEncaisse =cdbl(0) else MontantMouvement =cdbl(MontantMouvement) end if if montantMouvement<>MontantChequeEncaisse then call mgsbox("Le montant du chèque est différent du montant des mouvements.", vbExclamation) else call mgsbox("Le montant du chèque est égal au montant des mouvements.", vbInformation) end if
Partager