IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Autre manière d'éradiquer les doublons dans Access [AC-2013]


Sujet :

Access

  1. #21
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    J'avoue être un peu submergé par les informations.

    Qu'est-ce qui doit être unique ? La valeur dans le champ [MleEleve] ? Une combinaison avec d'autre champ ?

    A+
    bonjour marot_r,
    l'unicité est dans le critère du DCount() même si on peut en éliminer nom et prénom de l'élève qui n'a pas de sens puisqu'on a l'identifiant (MleEleve):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MesCriteres = _
    "IdEcole = " & ctl.Column(0) & " " & _
    "AND AnneeScol = '" & ctl.Column(1) & "' " & _
    "AND NumInsCreleve = " & ctl.Column(2) & " " & _
    "AND MleEleve = " & ctl.Column(3) & " " & _
    "AND Nom_Prenoms_EleveComposant = '" & ctl.Column(4) & "' " & _
    "AND COMPOSITION = " & ctl1.Column(0) & " " & _
    "AND NiveauCompositionFrancais = '" & ctl2.Column(0) & "' "
    Mais comme l'a dit hyperion13, cette application ressemble tellement à une usine à gaz qu'il est difficile de proposer une solution fiable et viable à la fois ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  2. #22
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.
    J'avoue être un peu submergé par les informations.
    Qu'est-ce qui doit être unique ? La valeur dans le champ [MleEleve] ? Une combinaison avec d'autre champ ?
    A+
    Bonsoir membres du forum !

    Voici ma fonction de gestion de doublons:
    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
    ''FONCTION POUR CONTROLER LES DOUBLONS DE L'ENREGISTREMENT DES ELEVES
    ''COMPOSANTS PAR COMPOSITION, Niveau de Composition ET ANNEE SCOLAIRE, ECOLE
     
    Public Function fEstEleveDejaComposant(ETABL As Long, NumInsc As Long, Mleelv As Long, Ansco As String, Composi As Long, NivCompo As String) As Boolean
    On Error GoTo MOROBABOUMAR
    If IsNull(ETABL) Then Exit Function
    If IsNull(NumInsc) Then Exit Function
    If IsNull(Mleelv) Then Exit Function
    If IsNull(Ansco) Then Exit Function
    If IsNull(Composi) Then Exit Function
    If IsNull(NivCompo) Then Exit Function
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
        Set db = CurrentDb
        sql = "select * from Tbl_EVALUATION_NIVEAU_SCOLAIRE where  IdEcole = " & ETABL & "and NumInsCreleve =" & NumInsc & "and MleEleve =" & Mleelv & "and AnneeScol ='" & Ansco & "'and COMPOSITION =" & Composi & "and NiveauCompositionFrancais ='" & NivCompo & "'"
        Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            fEstEleveDejaComposant = True
            Else
            fEstEleveDejaComposant = False
        End If
    Exit Function
    MOROBABOUMAR:
        MsgBox "Erreur n° " & err.Number & vbCrLf & err.description, vbCritical + vbOKOnly, "Une erreur est survenue"
    End Function
    Elle devrait empecher les "NumInsCreleve", "MleEleve" et "Nom_Prenoms_EleveComposant" d'avoir des
    doublons dans la table "Tbl_EVALUATION_NIVEAU_SCOLAIRE".
    Maintenant, les autres champs pas de soucis à en avoir.

    Peut être que je n'arrive pas à vous convaincre mais si vous observez bien ma fonction de gestion de doublons, vous pourriez
    savoir qu'est ce que je recherche comme résultat final. Loin de baisser les bras, je pense qu'on aura la solution qui marche.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  3. #23
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Elle devrait empecher les "NumInsCreleve", "MleEleve" et "Nom_Prenoms_EleveComposant" d'avoir des doublons
    Donc déjà il faut que tu définisses un index unique composé des champs :
    • "NumInsCreleve",
    • "MleEleve"
    • "Nom_Prenoms_EleveComposant"


    Pas trois indexes uniques composés d'un champ mais bien un seul index qui prend les 3 champs.

    Et en toute honnêteté, utiliser le nom et le prénom au lieu d'un identifiant unique est une mauvaise idée.
    Il y a assez souvent des gens qui portent le même nom et le même prénom.
    Utiliser un numéro ou un code unique serait plus sécuritaire.

    Ensuite on peut écrire ta fonction de manière beaucoup plus directe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim nbElement as long
    nbElement=DCount("*", "Tbl_EVALUATION_NIVEAU_SCOLAIRE", "IdEcole = " & ETABL & "and NumInsCreleve =" & NumInsc & "and MleEleve =" & Mleelv & "and AnneeScol ='" & Ansco & "'and COMPOSITION =" & Composi & "and NiveauCompositionFrancais ='" & NivCompo & "'")
    fEstEleveDejaComposant=(nbElement<>0)
    Et peux-tu poster le code qui fait vraiment l'ajout ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #24
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Et peux-tu poster le code qui fait vraiment l'ajout ?
    A+
    Bonsoir marot_r !
    Voici le code d'ajout:
    il y en a deux:
    1°)
    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
    Dim stMsg As String
    Dim Itm As Variant
    Dim oDb As Database
    Dim oRS As Recordset
     
    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
            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
     
        Next Itm
     
    ' enlever la sélection
        .RowSource = .RowSource
     
    ' affichage des éléments saisis
        Me.Refresh
        Me.ListeELEVES_ANNEE_CLASSE.Requery
        'Forms("FrmEnregistreCmdeArticlesScol_Divers").ArticlesScolairesEnregistres_Achetes_SF_Plus.Requery
        ListeELEVES_ANNEE_CLASSE.RowSource = ListeELEVES_ANNEE_CLASSE.RowSource
        End With
     
    End Sub
    oubien

    2°)

    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
    76
    77
    78
    79
     
    Private Sub EnregistrerlesComposants_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim MesCriteres As String
    Dim ctl As Control, ctl1 As Control, ctl2 As Control
    Dim i As Variant
    Dim stMsg As String
     
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Tbl_EVALUATION_NIVEAU_SCOLAIRE", dbOpenDynaset)
    Set ctl = Me.ListeELEVES_ANNEE_CLASSE
    Set ctl1 = Me.ListeComposition_Evaluation
    Set ctl2 = Me.ListeNiveauEVALUATION
     
    ' 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
     
    ' contrôle de la sélection d'enregistrement(s)
    If ctl.ItemsSelected.Count = 0 Then
    MsgBox "Veuillez sélectionner un enregistrement au moins !"
    Exit Sub
    End If
     
     '__________________________________________
     '__________________________________________
     If Not IsNull(ctl.ItemsSelected.Count) Then
     MsgBox "Voulez-vous insérer les élèves suivants:"
    For Each i In ctl.ItemsSelected
            stMsg = stMsg & ctl.Column(4, i) & vbCrLf
        Next i
     
    ' Confirmer l'insertion des élèves
        'stMsg = stMsg & "?"
        If MsgBox(stMsg, vbQuestion + vbYesNo) = vbNo Then Exit Sub
     End If
     '__________________________________________
     '__________________________________________
     
    MesCriteres = _
    "IdEcole = " & ctl.Column(0) & " " & _
    "AND AnneeScol = '" & ctl.Column(1) & "' " & _
    "AND NumInsCreleve = " & ctl.Column(2) & " " & _
    "AND MleEleve = " & ctl.Column(3) & " " & _
    "AND Nom_Prenoms_EleveComposant = '" & ctl.Column(4) & "' " & _
    "AND COMPOSITION = " & ctl1.Column(0) & " " & _
    "AND NiveauCompositionFrancais = '" & ctl2.Column(0) & "' "
     
    If DCount("*", "Tbl_EVALUATION_NIVEAU_SCOLAIRE", MesCriteres) > 0 Then
        MsgBox "Cet enregistrement a deja ete insere"
        Me.Undo
    Else
        For Each i In ctl.ItemsSelected
            rst.AddNew
            rst!NumEnregistreComposant = f_NumAutoEnregistrementElevesComposants() + 1
            rst!IdEcole = ctl.Column(0, i)
            rst!AnneeScol = ctl.Column(1, i)
            rst!NumInsCreleve = ctl.Column(2, i)
            rst!Mleeleve = ctl.Column(3, i)
            rst!Nom_Prenoms_EleveComposant = ctl.Column(4, i)
            rst!COMPOSITION = ctl1.Column(0)
            rst!NiveauCompositionFrancais = ctl2.Column(0)
            rst.Update
        Next i
    End If
    With ctl
        .RowSource = .RowSource
        ListeELEVES_ANNEE_CLASSE.RowSource = ListeELEVES_ANNEE_CLASSE.RowSource
     
    End With
    Set rst = Nothing
    Set dbs = Nothing
    End Sub
    Donc déjà il faut que tu définisses un index unique composé des champs :
    "NumInsCreleve",
    "MleEleve"
    "Nom_Prenoms_EleveComposant"
    Dois je créer un nouveau champ contenant les 3 index en même temps ?

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  5. #25
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Dois je créer un nouveau champ contenant les 3 index en même temps ?
    Non tu dois créer un index qui utilise les 3 champs, pas un nouveau champ.

    L'index unique va garantir que tu n'auras pas de doublons.

    Je regarde ton code et je te reviens.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #26
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Re-Bonjour.

    Je te suggère la modif suivante :

    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
     
        dim critere as string
     
        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)
     
            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
    Un autre solution consisterai à ajouter sans s'occuper de savoir si c'est un doublon et de gérer l'erreur de doublon en ignorant l'insertion mais je trouve cela moins "propre".
    Note que si tu avais beaucoup de données dans ta table cette option serait sans doute plus rapide que de valider avant si l'enregistrement existe.

    Pour ton autre code, si j'ai bien compris, il ne crée déjà pas de doublon donc pas de modif à faire selon moi.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #27
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir membres du forum !
    Le code proposé par marot_r marche.
    J'y ai ajouté 2 critères supplémentaires (& " and [COMPOSITION]=" & Me.ListeComposition_Evaluation _
    & " and [NiveauCompositionFrancais]='" & Me.ListeNiveauEVALUATION & "'"
    )
    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
    Résultats:
    Nom : EvaluationNiveau17.PNG
Affichages : 161
Taille : 124,9 Ko
    Nom : EvaluationNiveau18.PNG
Affichages : 138
Taille : 138,1 Ko
    Nom : EvaluationNiveau19.PNG
Affichages : 146
Taille : 124,7 Ko

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  8. #28
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Remerciement
    Bonsoir membres du forum !
    Je vous remercie infiniment tous sans exception.

    Franchement, vous m'avez particulièrement rendu très solide
    car vous êtes d'éminents experts qui arrivez à former même les plus nuls.

    Je crois que mon "Usine à gaz" ne fera pas de fuites de gaz !

    Merci merci merci votre galanterie vous confère l'honneur et la dignité du bon sens.

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Comment éviter les doublons dans une ComboBox
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 27/07/2017, 16h03
  2. comment éviter les doublons en shell ?
    Par monsieur77 dans le forum Linux
    Réponses: 3
    Dernier message: 06/11/2007, 17h17
  3. [Upload] comment éviter les doublons en upload ?
    Par pilou1420 dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2007, 14h28
  4. publipostage : comment éviter les doublons?
    Par Christophe93250 dans le forum Access
    Réponses: 15
    Dernier message: 03/01/2006, 12h08
  5. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo