Bonjour,
Ma base de données porte sur des candidats à un examen. Je souhaite réaliser un état en mode continu avec pour chaque épreuves, les candidats inscrit
Je dresse un état récapitulatif pour chaque épreuve des candidats sachant que certains candidats ont déjà le bénéfice d'une épreuve.
Pour cela je doit faire apparaître dans un champ dédié, la mention "Bénéfice ou non inscrit" à côté de chaque candidat de mon état qui n'a pas besoin d'être présent s'il a déjà obtenu l'épreuve.
(issu d'une table BENEFICE avec les champs Num_él et Num_épreuve concaténés)
J'ai réalisé un formulaire avec deux champs cachés pour traiter une requête dans la partie "Détail" de mon Etat
Voici le code :
Problème : le code fonctionne bien mais dans mon état j'ai la même réponse pour tous les candidats comme si la requête ne fonctionnait que pour le premier listé dans la zone "détail" de mon état.
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 Private Sub Report_Activate() Dim numel As String Dim numep As String Dim SQL As String Dim rst As Recordset Dim benef As Variant numel = Reports![etat_liste_appel]![Texte40] numep = Reports![etat_liste_appel]![Texte36] ' requête demandant s'il existe un enregistrement où il y a un bénéfice pour le numépreuve et le num candidat SQL = "SELECT BENEFICE.Bénéfice FROM BENEFICE WHERE BENEFICE.Num_él = " & numel & " AND BENEFICE.Num_épreuve = " & numep & ";" Set rst = CurrentDb.OpenRecordset(SQL) ' s'il n'y a aucun enregistrement solution de la requête If Not rst.EOF Then Reports![etat_liste_appel]![Texte38] = "Bénéfice ou non inscrit" ' s'il n'y a un enregistrement solution de la requête Else Reports![etat_liste_appel]![Texte38] = "" End If End Sub
Je voudrais que la requête fonctionne individuellement pour chaque enregistrement.
(un peu comme si je faisais un me.refresh pour chaque ligne de ma zone Détail.
Merci d'avance pour votre aide,
Gilles
Partager