Bonjour à tous
J'essaye actuellement de concevoir un état, jusque la rien de très difficile, mais maintenant que mon état est conçu, il me reste quelques problèmes :
En fait à l'ouverture de l'état, certain contrôles doivent avoir différentes valeurs qui dépendent de la valeur d'autres contrôles (par exemple j'ai un contrôle 'txtCatégorie' qui peut prendre plusieurs valeurs (outillage, consommable...) et suivant qu'il soit à outillage ou consommable, alors le contrôle 'QuantitéFournie' ne doit pas afficher la même chose)
C'est donc cette optique que j'ai fait le code suivant qui utilise des recordset à l'ouverture de l'état, malheureusement il n'est apparemment pas possible d'utiliser les recordset sur un état :
J'ai dans l'idée qu'il me faudras utilisé la propriété source contrôle de mes contrôles mais le problème est que je ne sais pas trop comment effectuer une comparaison dans cette propriété (ni même si on peut le faire) donc si quelqu'un pouvait me lancer sur une piste ça serai très gentil^^
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 Private Sub Report_Open(Cancel As Integer) Dim db As DAO.Database Dim rst As DAO.Recordset Dim rst2 As DAO.Recordset Dim rst3 As DAO.Recordset Set db = CurrentDb() Set rst = Me.Recordset Set rst2 = Me.rptExpressionbesoinGr1.Report.Recordset rst.MoveFirst While Not rst.EOF If Me.Group_Outil.Value = "Groupement" Then rst2.MoveFirst While Not rst2.EOF If rst2("categorie").Value = "Consommable" Then Set rst3 = db.OpenRecordset("SELECT DureeLoc FROM Historique WHERE RefCommande = " & rst2("txtRefCommande").Value & " AND RefGroupement.value = '" & rst2("txtRefGroupement").Value & _ " AND NDetailGroupement = " & rst2("txtNumAuto").Value & "' ;") rst2("txtQuantiteFournie").Value = rst3("DureeLoc").Value rst3.Close Set rst3 = Nothing Else Set rst3 = db.OpenRecordset("SELECT COUNT(NumAuto) AS Nb FROM Historique WHERE RefCommande = " & rst2("txtRefCommande").Value & " AND RefGroupement.value = '" & rst2("txtRefGroupement").Value & _ " AND NDetailGroupement = " & rst2("txtNumAuto").Value & "' ;") rst2("txtQuantiteFournie").Value = rst3("Nb").Value rst3.Close Set rst3 = Nothing End If rst2.MoveNext Wend End If rst.MoveNext Wend db.Close Set db = Nothing End Sub
Cordialement
mcfly
Partager