Bonsoir membres du forum,
J'ai écrit ce code afin d'éliminer automatiquement le doublon à partir d'un formulaire:
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 ''FONCTION POUR CONTROLER LES DOUBLONS DE L'ENREGISTREMENT DES MATIERES ''PAR COMPOSITION,PAR CLASSE ET ANNEE SCOLAIRE ET PAR ETBLISSEMENT SCOLAIRE Public Function fMatiereDejaEnregistree(ETABL As Long, AnneeScolComp As String, ClasFr As String, _ ComposF As Long, Matier As Long) As Boolean On Error GoTo MOROBABOUMAR Dim nbElement As Long nbElement = DCount("*", "MATIERE_CLASSE_FR_Req", "Identif_EtablisFR = " & ETABL & _ "and annee_scol ='" & AnneeScolComp & "'and NumCompoMCFr =" & ComposF & _ "and classe_francais ='" & ClasFr & "'and matiere_francais =" & Matier & "") fMatiereDejaEnregistree = (nbElement <> 0) Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & err.Number & vbCrLf & err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End FunctionMon objectif est de supprimer la ligne de doublon automtiquement grâce au code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub matiere_francais_BeforeUpdate(Cancel As Integer) If fMatiereDejaEnregistree(Me.Identif_EtablisFR, Me.ANNEE_SCOL, Me.classe_francais, Me.NumCompoMCFr, Me.matiere_francais) = True Then MsgBox "ATTENTION !!" & vbCrLf & "Cette Matière est déjà enregistrée pour la" & Me.NumCompoMCFr.Column(1), vbCritical + vbOKOnly, "Risque de Doublons" 'Me.matiere_francais = "" 'Me.NumCompoMCFr = "" 'Me.ANNEE_SCOL = "" 'Me.classe_francais = "" DoCmd.RunSQL "delete * from MATIERE_CLASSE_FR_Req where NumEnregistrementMatiereFR = " & Me.NumEnregistrementMatiereFR End If
Capture de messages d'erreurs:
Cordialement.









Répondre avec citation





Partager