Bonjour à tous,

Je suis bloquée depuis plusieurs jour sur mon code...
J'ai une table nommée "Liste" qui contient :
- Numéro
- Nom
- Email
- Tag
- Groupe

Le champs "Tag" contient une liste de fichiers dans lesquels on retrouve une personne. (Ces noms de fichiers proviennent du nom des tables dans ma base)
ex :
Michael Dupond, a dans Tag : "Incident Internet (Promise, OOPRO) ; Incident Internet DNS, IAMP, MSAP, USSO (Wassup) et EUI ; Incident Internet MSAP Abroad ; Incident Internet PAS; Codir Liste" ... Etc

Je veux qu'en parcourant ma table Liste, si je trouve les personnes qui dans Tag ont "Incident Internet", je mets alors dans le champs "Groupe" de la ligne correspondante : "Internet"
Si ensuite je cherche les lignes qui contiennent "Codir Liste", j'ajouterai dans le champ "Groupe" : "Codir"
Pour Michael Dupond, j'aurai donc le champ "Groupe" qui doit avoir :"Internet; Codir" .
Michael appartient au groupe Internet et Codir


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
For Each tbl In dbs.TableDefs
 
groupe = tbl.Name
groupe = Replace(groupe, "_", " ")
valTag = groupe
 
Set r = dbs.OpenRecordset("Liste", dbOpenDynaset)
 
 
 
Select Case groupe
 
     Case "Incident Axway liste Partenaire 1"
                    groupe = "Axway_1 "
 
                Case "Incident CMC GDF"
                    groupe = "CMC_GDF "
 
                Case "Incident BIV SIP"
                    groupe = "BIV_SIP "
 
                Case "Incident CEO"
                    groupe = "CEO "
 
                Case "Incident Internet DNS, IAMP, MSAP, USSO (Wassup) et EUI"
                    groupe = "DNS_IAMP_MSAP_USSO_EUI "
 
                Case "Incident Internet PAS"
                    groupe = "PAS "
 
                Case "Incident ANN CNNE"
                    groupe = "ANN_CNNE "
 
                ' etc etc ...!
 
End Select
 
                'on recherche la 1ère correspondance dans le champ tag
                ' valTag = Replace(tbl.Name, "_", " ")
 
                r.FindFirst "Tag Like " & "'*" & valTag & "*'"
                'On récupère la valeur dans la champ groupe
                'Au 1er passage, tous le champ groupe est vide
                valGroupe = r.Fields("Groupe").Value
 
 
                     If r.NoMatch Then
                           r.FindNext "Tag Like " & "'*" & valTag & "*'" 
 
                     Else
 
                      Do While Not r.NoMatch
                                   r.Edit
                                   r![groupe] = valGroupe & ";" & groupe
                                   r.Update                
                                   r.FindNext "Tag Like " & "'*" & valTag & "*'"
 
 
                           Loop
 
                     r.FindNext "Tag Like " & "'*" & valTag & "*'" 
 
                     End If
 
 
 
 
Next tbl
 
  'suite du prog...

J'ai bien une mise à jour du champ groupe, mais avec des valeurs peu cohérentes...
Ex :

Tag : Incident Axway liste DEPFS bis ; Karma Meteo Liste
On obtient :
Groupe : ;BIV_SIP ;EVITA ;MELODI ;Incident Pont de conférence;Réu_Flash ;

Tag : Incident ANN CNNE
On obtient :
Groupe : ;ANN_CNNE

Tag : Incident SPN
On obtient :
Groupe : ;PAS ;SNU ;SPN

Il y'a un soucis au niveau du passage des lignes et des valeurs mises dans Groupe.
Je suis passé également par des requêtes SQL, par des Seek, rien n'y fait, je n'y arrive pas !

Si quelqu'un arrive à y voir clair.
Ce n'est pas forcément simple à comprendre tout ça, donc n'hésitez pas si vous avez des questions. J'ai essayé de faire au plus clair !

Merci à tous