Création d'un index hiérarchique Vba Access

Fermé
Ore - 16 sept. 2011 à 17:26
 Ore - 20 sept. 2011 à 22:48
Bonjour,

J'ai une table (dans une BD Access 2007) avec un champ contenant des informations de ce type :


Projet
Répertoire
Comp.
Comp.
Comp.
Comp.
Total/Fin
Répertoire
Comp.
Comp.
Comp.
Total/Fin
Coût


Je voudrais :
1. enlever les lignes contenant "Projet", "Total/Fin" et Coût"
2.
remplacer les informations restantes par des enregistrements sous forme d'un index hiérarchique unique sous cette forme :
01
01.01
01.02
etc.

sachant que "Répertoire" indique le début d'une nouvelle liste de numéros :

Répertoire >> 01
Comp. >> 01.01
Comp.
Comp.
Comp.

Répertoire >> 02
Comp. >> 02.01
Comp.
Comp.
Comp.

et ainsi de suite.

3. On outre, je voudrais aussi créer un nouveau champ avec des informations sur les numéros des "parents". Ainsi, on aura par exemple :

Répertoire >> 02
Comp. >> 02.01 >> 02
Comp. >> 02.02 >> 02
Comp.
Comp.

etc.

Voilà, tout ceci en Vba Access.

Puisque je ne maîtrise pas beaucoup la programmation, je sèche!

Merci d'avance..

Cordialement,

Ore

A voir également:

4 réponses

blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
Modifié par blux le 16/09/2011 à 19:00
Salut,

1 - une requête DELETE * FROM table where champ = "projet" et ainsi de suite, pas besoin de VBA

2 et 3 - Les données sont-elles dans l'ordre ? Si oui, un parcours de table avec un recordset, suivi de la mise à jour du nouveau champ avec la valeur du parent.

Ca ne devrait pas être trop compliqué.

Quelle version d'access ?


A+ Blux
 "Les cons, ça ose tout. 
C'est même à ça qu'on les reconnait"
0
Merci beaucoup pour votre réponse.

La version d'Access que j'utilise est la 2007.

Les données sont effectivement dans l'ordre.

Hmm.. pour le parcours avec le recordset, là je suis moins bon pour y aller tout seul..

Merci encore.

O.
0
C'est encore moi :

Pour être plus précis, voici le genre de sortie finale que je veux avoir :


01 Réseau d'adduction d'eau
01.02 Canalisation 01
01.03 Canalisation acier 01

On peut avoir un niveau hiérarchique plus "profond" (par exemple un "Répertoire" sous un autre "Répertoire"), mais je peux essayer de développer ceci plus tard. C'est le début du fil qui me manque..

Cordialement,

Ore
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
20 sept. 2011 à 11:33
Pour parcourir la table 'A' et afficher le contenu du champ 'toto', tu peux utiliser ce code-là :

Dim Rs As DAO.Recordset
Set Rs = CurrentDb.OpenRecordset("A", dbOpenTable)
Rs.MoveFirst
While Not Rs.EOF
    MsgBox Rs!Toto
    Rs.MoveNext
Wend
0
Merci pour l'info blux, c'est compris. Très gentil de ta part.

Cordialement,
0