Bonjour à tous,
Petit problème sur des champs calculés que je souhaite mettre à jour de manière dynamique/continue dans un formulaire appelé "devis d'affaire"
J'ai entre autres deux zones de saisie (NuméroDevisaffaire et PrixFinal) et plusieurs champs calculés qui ne me servant qu'à afficher des données (CalculCD, CalculPV, CalculMB, etc)
Voici le code que j'ai créé:
Je l'ai mis dans les évenements afterupdate de mes deux zones de saisie et il fonctionne parfaitement dès que je modifie une des deux valeurs.
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 'calcul des différentes valeurs If Not IsNull(Me.NuméroDevisaffaire) Then Dim mysql As String mysql = "SELECT Prestation.Quantité, Prestation.PrixUnitaire, Prestation.CoeffRetenu FROM [Devis d'affaire] INNER JOIN Prestation ON [Devis d'affaire].NuméroDevisaffaire = Prestation.DevisPère WHERE Prestation.DevisPère = '" & Me.NuméroDevisaffaire.Value & "'" Dim cnn1 As ADODB.Connection Set cnn1 = CurrentProject.Connection Dim myRecord As New ADODB.recordset myRecord.ActiveConnection = cnn1 myRecord.Open mysql Dim CDirects As Double CDirects = 0 Dim PVcalcul As Double PVcalcul = 0 If Not myRecord.EOF Then myRecord.MoveFirst While Not myRecord.EOF CDirects = CDirects + myRecord.Fields(0) * myRecord.Fields(1) PVcalcul = PVcalcul + myRecord.Fields(0) * myRecord.Fields(1) * myRecord.Fields(2) myRecord.MoveNext Wend End If Me.CalculCD.Value = CDirects Me.CalculPV.Value = PVcalcul Me.CalculMB.Value = Me.PrixFinal.Value - CDirects If CDirects <> 0 Then Me.calculCoeff.Value = Me.PrixFinal.Value / CDirects Else Me.calculCoeff.Value = 0 End If End If
Petit souci: J'ai un bouton sur ce formulaire qui ouvre un formulaire "prestation", permettant de saisir les prestations liées à ce devis d'affaire. Comme vous pouvez le voir, la requete permettant les calculs va chercher les données de la table "prestation". A la fermeture du formulaire "prestation", je retourne sur le formulaire "devis d'affaire", mais je n'arrive pas à mettre mes données à jour. J'ai essayé de remettre le code dans les évenements suivants du formulaire "devis d'affaire": Gotfocus, current, load. Mais ça n'a pas marché.
J'ai aussi essayé de faire un requery sur le formulaire "devis d'affaire" à la fermeture du formulaire "prestation". Mais je ne suis pas trop sûr de ma syntaxe, que j'ai effacée d'ailleurs...
Bref, si quelqu'un connait une astuce pour gérer ce petit problème...
Merci d'avance de votre aide.
Flu
PS: Où puis-je trouver une description précise des déclenchements d'évenements?? C'est toujours un peu flou pour moi...
Partager