Salut membres du forum !
J'espère que vous allez bien.
Je souhaite bonne et parfaite sante de fer à tout le monde.
Que le Seigneur nous préserve du COVID 19.
Bien ! permettez moi de rebondir sur notre précédente discussion Post#27 du 01/05/2019:
https://www.developpez.net/forums/d1...ublons-access/
En effet, après plusieurs mois d'essai, je constate que le code suivant n'insert pas les noms des élèves redoublant la même classe
de l'année dernière 2019-2020. Exemple; les élèves suivants:
Diarra Ismaïl,
Diarrassouba Zéitoune et
Diomandé Assata
sont des redoublants de la classe du CP2. Donc, en cliquant sur la commande "Enregistrer les Elèves Composants Sélectionnés" afin d'enregistrer la liste des élèves composant de la nouvelle année 2020-2021, seuls les nouveaux élevés arrivés en CP2 sont enregistrés dans la table "Tbl_EVALUATION_NIVEAU_SCOLAIRE".
Mon objectif:
Tous devraient y être enregistrés (nouveaux élèves et anciens élèves doublant).
Cordialement.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 Private Sub BtnEnregisterElevesComposants_Click() Dim stMsg As String Dim Itm As Variant Dim oDb As Database Dim oRS As Recordset Dim critere As String With Me.ListeELEVES_ANNEE_CLASSE '' contrôle saisie élèves If .ItemsSelected.Count = 0 Then Exit Sub 'contrôle saisie Classe If IsNull(Me.lstClasse_Evaluation) Then MsgBox "Sélectionnez une classe.", vbCritical Me.lstClasse_Evaluation.SetFocus 'Me.lstClasse_Evaluation.Dropdown **** Pour dérouler le combobox à l'aide de la méthode DROPDOWN SendKeys "{F4}" '*** Pour dérouler le combobox à l'aide de l'envoi de touche clavier (F4) Exit Sub End If stMsg = "Voulez-vous insérer les élèves suivants:" & vbCrLf For Each Itm In .ItemsSelected stMsg = stMsg & .Column(4, Itm) & vbCrLf Next Itm 'Confirmer l'insertion des élèves stMsg = stMsg & "?" If MsgBox(stMsg, vbQuestion + vbYesNo) = vbNo Then Exit Sub Set oDb = CurrentDb Set oRS = oDb.OpenRecordset("Tbl_EVALUATION_NIVEAU_SCOLAIRE", dbOpenDynaset) ' ajout des éléments sélectionnés For Each Itm In .ItemsSelected critere = "[Nom_Prenoms_EleveComposant]=""" & .Column(4, Itm) _ & """ and [NumInsCreleve]=" & .Column(2, Itm) _ & " and [MleEleve]=" & .Column(3, Itm) _ & " and [COMPOSITION]=" & Me.ListeComposition_Evaluation _ & " and [NiveauCompositionFrancais]='" & Me.ListeNiveauEVALUATION & "'" Call oRS.FindFirst(critere) 'Cherche si il y a déjà un enregistrement avec ces valeurs If oRS.NoMatch Then 'L'enregistrement n'existe pas déjà, on va l'ajouter. oRS.AddNew oRS.Fields("NumEnregistreComposant") = f_NumAutoEnregistrementElevesComposants() + 1 '.Column(0, Itm) oRS.Fields("Nom_Prenoms_EleveComposant") = .Column(4, Itm) oRS.Fields("COMPOSITION") = Me.ListeComposition_Evaluation '.Column(2, Itm) oRS.Fields("NiveauCompositionFrancais") = Me.ListeNiveauEVALUATION '.Column(2, Itm) oRS.Fields("IdEcole") = Me.ID_ETABL_FREQ '.Column(9, Itm) oRS.Fields("AnneeScol") = Me.ANNEE_SCOL '.Column(8, Itm) oRS.Fields("NumInsCreleve") = .Column(2, Itm) oRS.Fields("MleEleve") = .Column(3, Itm) oRS.Update End If Next Itm ' enlever la sélection .RowSource = .RowSource ' affichage des éléments saisis Me.Refresh Me.ListeELEVES_ANNEE_CLASSE.Requery Forms("Frm_EvaluationScolaireElevesECIND").Tbl_EVALUATION_NIVEAU_SCOLAIRE_SFrm.Requery ListeELEVES_ANNEE_CLASSE.RowSource = ListeELEVES_ANNEE_CLASSE.RowSource End With End Sub
Partager