IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requete récursive avec SQL


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut Requete récursive avec SQL
    Bonjour

    J'ai lu pas mal de messages sans solution par rapport à la récursivité... c'est pourquoi je viens vous demander de l'aide en espérant avoir plus de chance !

    J'ai une table avec dedans des enregistrements qui ont une relation père/fils.
    Par exemple, "site-internet" est le fils de "publications", qui lui même est le fils de "communication".
    Chaque enregistrement a donc son propre ID et l'ID de son père.

    Je souhaite faire une requête récursive qui puisse m'insérer pour chaque enregistrement sa généalogie sous la forme : ../grandpère/père

    Pourriez vous me guider ?

    Merci beaucoup.

    François
    PS : cette requête doit être réalisée sous Access le plus possible avec SQL car je connais pas VBA

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut Re
    Alors j'avance un peu...

    J'ai trouvé en PHP un script qui fait exactement ce dont j'ai besoin...
    A cette adresse : http://pbnaigeon.developpez.com/tuto...ite-dynamique/

    Est-ce possible de m'aider à l'adapter en VBA ?

    Merci beaucoup


    François


    Le script :
    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
     
    // Affiche le chemin de fer.
    // Paramètres : id de la page en cours -> $idpage
    // Renvoie : chemin complet -> $chemin_complet
    function affiche_chemin_fer($idpage) {
        // on définit la variable pour éviter le warning
        $chemin_complet = "";
        // Si l'id de la page en cours est différent de 0 
        // (0 = page parente de la page racine = inexistante)
        if ($idpage != 0) {
            // on récupère les informations de la page en cours dans la DB
            $strSQL = 'SELECT `Titre`, `Id_parent` FROM `pages` WHERE `Id_page` = '.$idpage;
            $resultat = requete_SQL($strSQL);
            $tabl_result = mysql_fetch_array($resultat);
     
            $titrepage = $tabl_result['Titre'];
            $idparent = $tabl_result['Id_parent'];
     
            // création du lien vers la page en cours
            $chemin_page_en_cours = ' -> <a href="index.php?id_page='.$idpage.'">'.$titrepage.'</a>';
     
            // Concaténation du lien de la page N-1 et
            // du lien de la page en cours
            $chemin_complet = affiche_chemin_fer($idparent).$chemin_page_en_cours;
        }
        // renvoie le chemin complet
        return $chemin_complet;
    }
    Il s'agit simplement d'une fonction récursive (qui se rappelle elle-même). Elle récupère les informations de la page en cours, puis elle crée le lien correspondant et se rappelle elle même. Elle prend en paramètre l'ID de la page parent, tant que cet ID n'est pas égal à 0 (id_parent = 0 -> page racine du site).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut Re
    J'ai finalement réussi à traduire ce script.
    J'espère que ça pourra servir

    Cf ce post :

    http://www.developpez.net/forums/d77...cript-php-vba/

    A bientot

    François

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete récursive avec agrégat
    Par jowsuket dans le forum Développement
    Réponses: 8
    Dernier message: 27/06/2011, 18h19
  2. faire une requete croisée avec sql
    Par kayuyu dans le forum Développement
    Réponses: 12
    Dernier message: 25/08/2010, 11h45
  3. requete multibase avec sql 2000
    Par sobhilaire dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/10/2006, 09h53
  4. Réponses: 7
    Dernier message: 21/09/2006, 14h06
  5. Réponses: 4
    Dernier message: 04/05/2006, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo