Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 18h46   #1
Invité de passage
 
Inscription : août 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 2
Points : 0
Points : 0
Par défaut Numéroter les occurrences des différentes valeurs d'un champ

Bonjour à tous !
Je sollicite votre aide, car j'ai beau me torturer les méninges et explorer les forums, je n'y arrive pas :

J'ai une table Access (2003) dans laquelle je voudrais numéroter les occurrences de chaque valeur d'un champ donné.

Je pense utiliser une requête mise à jour pour "peupler" le champ COMPTEUR mais... laquelle ???

Voici un exemple de résultat attendu pour le champ COMPTEUR :

CHAMP_A_COMPTER|COMPTEUR
Val1                |1
Val1                |2
Val1                |3
Val2                |1
Val2                |2
etc...
Le compteur doit donc partir de 1 pour chaque valeur du champ et s'incrémenter de 1 à chaque nouvelle occurrence d'une valeur donnée.

J'espère que ma question est claire... et merci d'avance pour votre aide !

PS : si vous avez une idée, je ne me reconnecterai que lundi...
komodoe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 19h33   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 255
Points : 5 255
Salut,

L'utilisation d'1 recordset semble une bonne solution dans ton cas. Voici un exemple de fonction VBA à mettre dans 1 module :

Code :
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
Public Function Peupler()
Dim rst As DAO.Recordset
Dim cpt As Long
Dim Valeur As String
 
Set rst = CurrentDb.OpenRecordset("Table1")
 
rst.MoveFirst
 
Valeur = rst!CHAMP_A_COMPTER
cpt = 1
 
Do
 
rst.Edit
rst!Compteur = cpt
rst.Update
 
rst.MoveNext
 
   If rst.EOF Then
      Exit Do
   End If
 
   If (Valeur = rst!CHAMP_A_COMPTER) Then
      cpt = cpt + 1
   Else
      cpt = 1
      Valeur = rst!CHAMP_A_COMPTER
   End If
 
Loop
 
rst.Close
Set rst = Nothing
 
End Function
Ou "Table1" désigne la table à peupler...

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/12/2011, 10h26   #3
Invité de passage
 
Inscription : août 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 2
Points : 0
Points : 0
Salut !

J'ai testé ta solution ce matin, ça répond parfaitement à mon besoin.

Merci beaucoup d'avoir répondu si vite !

Bonne journée et bonnes fêtes de fin d'année !
komodoe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h56.


 
 
 
 
Partenaires

Hébergement Web