Bonjour, je cherche trouver un moyen de détecter des doublons dans une table entre 2 champs:
Champ1 |Champ2
A | 1 ---> A | 1
A | 1 ---> A | 3
A | 2 ---> A | 2
B | 1 ---> B | 1
A l'heure actuelle j'arrive a detecter les doublons en fontion de mon premier champs, le problème vient de ma modification: je dois trouver la plus grande valeur de mon champs 2 en fonction de mon premier champ pour pouvoir la stocker dans une variable et l'incrémenter par la suite.
Or j'ai essayer plusieurs fonction(DLOOKUP,DMAX) mais aucun résultat.
voici mon code:
J'espère ne pas être trop brouillon.
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 Set rst = CurrentDb.OpenRecordset( _ "SELECT * FROM [SOLODATA]", _ dbOpenDynaset, dbInconsistent) champsActuel = rst("TAG3") champsActuel2 = rst("TAG2") With rst Do While Not .NoMatch Do While Not .NoMatch 'comparaison des tuples avec le tuple selectionné .FindNext "[Tag3]= '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "'" 'Cherche le premiers doublon dans la table If .NoMatch = False Then 'Si il y a un resultat alors on entre dans la procedure de modification ''''''''''''''''''''''''''''''''''''''''''''''' ICI ma procedure de modification''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''' Je cherche la plus grandes valeur de TAG3 pour TAG2= champsActuel2'''''''''''''''''''''''''''' '.FindFirst "MAX([Tag3]) and [Tag2]= '" & champsActuel2 & "'" 'test = DMax("Tag3", "SOLODATA", [Tag2] = " & champsActuel2 & ") .Edit valeurModifie = test + 1 'Le doublon est remplacé par une valeur alternative .Update ' valeurModifie = valeurModifie + 1 'Modification de la valeur alternative pour eviter les doublons End If Loop .FindFirst "[Tag3]= '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "'" 'Retour à l'enregistrement de depart '.MoveFirst .FindNext "([Tag3]<> '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "') or ([Tag3]= '" & champsActuel & "' and [Tag2]<> '" & champsActuel2 & "')" 'Passage à l'enregistrement suivant .Edit champsActuel = ![Tag3] 'Affectation de l'enregistrement à controler à une variable champsActuel2 = ![Tag2] .Update test = DLookup("Tag3", "solodata", "Tag2" = " & champsActuel2 & ") Loop End With
merci d'avance
Partager