qqun peut il me dire s'il est possible d'écrire une requête récursive sous ACCESS :::
je ne trouve cette ionformation nulle part, je ne comprends pas pourquoi
Merci d'avance et a ce lui qui me répondra
qqun peut il me dire s'il est possible d'écrire une requête récursive sous ACCESS :::
je ne trouve cette ionformation nulle part, je ne comprends pas pourquoi
Merci d'avance et a ce lui qui me répondra
bienvenue sur le forum,
et bonjour, oui c'est plus agréable ...
la réponse à ta question est sur le site
http://loufab.developpez.com/recursivite/
Merci de faire des recherches
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
re - Bonjour,
merci pour ta réponse caféine mais si c'est pour me renvoyer vers le 1er lien que tu trouves ...
j'ai cherché mais je comprends pas ce qu'il y a de marquer,
franchement c'est pas clair
moi je veux executer une requete récursive,
l'exemple il est pas du tout concret, je pige que dalle
merci quand même
Si tu ne trouves pas le tutoriel assez clair, je t'invite à poser des questions sur ce que tu ne comprends pas, puisque l'auteur de l'article fait partie de l'équipe de rédaction de developpez.com.
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
En même temps, ta question est guère plus concrete
La récursivité est une notion bien vaste
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
Oui Bonjour ('lut Tof et Caf )
Comme on me le faisait remarquer à juste titre lors de la mise en ligne de ce tuto, la recursivité n'est pas le terme exact (merci PapyTurbo ) on parle plutôt de requêtes basées sur une requête ou d'affinage dans la recherche par la combinaison de critéres successifs.
Il s'agit simplement d'une requête où la condition where serait faites en 2 ou plusieurs fois avec un affichage entre les différentes phases.
Cordialement.
Détecter les modifications formulaire Cloud storage et ACCESS
Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie
c'est exact, ma question n'est pas concrète non plus
donc concrètement, j'ai une table qui représente un arbre dans lequel j'aimerais bien pouvoir consulter les valeurs:
table arbre :
champs pere champs fils
avec les valeurs suivantes
A B
A C
A D
B E
E F
D H
B G
...
je souhaiterais avoir comme résultat :
si je veux l'arbo de A : A, B, C, D, E, F, G, H (éventuellement pas le A)
si je pars de B : B, E, F, G
je sais pas si c'est plus clair mais en tout cas je vous remercie de vous être penché sur mon cas totalement désespéré qui peut être la conséquence de message un peu sec,
je trouve affligeant qu'on ne trouve pas de réponse sur le net à ce sujet !!
Merci par avance[/list]
Bonjour,
je ne comprends pas encore les champs père et champs fils.
tu as donc 2 tables
1 tabble arbres (arbre1, arbre2,....)
1 table caractéristique ( car1 car2....)
et une table de liaison arbre-caractéristique et tu aimerais choisir des arbres répondant à plusieurs caractéristique à la fois?
par exemple tous les arbres qui ont la "car1 et car3 et car4"
?? éclairci notre lanterne
c'est très simple (mais je savais pas qu'il bouffait les espaces donc c'est sur que ma dernière question ne doit pas être très claire)
j'ai une table avec 2 champs :
PERE
FILS
les données qui se trouvent dans les champs de cette table forment un arbre
Autrement dit :
un arbre se définit par une liste de couple pere-fils,
ben moi je voulais juste une requete qui me donnait l'ensemble des noeuds et des feuilles d'un arbre à parti d'un numéro PERE donné
Suis-je vraiement plus clair, je me le demande ?
j'éspère en tout cas l'avoir été
Trés clair je dirais même
Mais je doute que ce soit possible avec une simple requête. ça demande reflexion.
En tout cas c'est possible en VBA
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
il y a t'il une limite au nombre de niveaux ?
si oui combien ??
Elle est pas belle la vie ?
faire du sql récursif c'est vraiment galère par contre
la fonction suivante
est récursive elle va chercher le père du père tant qu'il y a un ascendant ou que celui cherché est trouvé
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 "Function monpère(ch1 As String, ch2 As String) As Boolean Dim encours As String encours = Nz(DLookup("[pére]", "arbre", "fils= '" & ch1 & "'"), "pastrouv") If encours = "pastrouv" Then monpére = faux Exit Function Else If encours = ch2 Then monpère = True Exit Function Else monpère = monpère(encours, ch2) End If End If End Function
il suffit ensuite pour connaitre les descendants de a de faire une requête sélection sur abre en sélectionnant les fils et monpère(fils;[père cherché]) à vrai
Elle est pas belle la vie ?
un grand merci à tous ceux qui se sont donnés la peine de me répondre j'ai réussi à trouver la solution à mon problème par VBA
mais ma question reste toujours en suspens : existe-il une possobilité de requete sql récursive supporté par le moteur de requete access (je pense la fin de ma phrase ne veut pas dire grand chose)
Merci à tous
désolé d'avoir été un
Ayant rencontré ce problème, j'ai décidé de m'inscrire pour partager ma solution!
Si il y a une limite de niveau :
Dans un premier temps, créer une requête (à partir de l'interface c'est beaucoup plus facile)
Ensuite il suffit d'y ajouter la table contenant les deux attributs (ex : A et B avec A contenant que des pères et B des pères ou des fils ) et de multiplier cette table suivant le nombre de niveaux de l'arbre (on les appellera des copies).
Puis faire une jointure gauche (LEFT JOIN) entre le B de la table initiale et le A de la table copie1. Puis entre le B de la table copie1 et le A de la table copie2 et ainsi de suite... jusqu'à qu'il n'y ait plus de résultats possibles! Pour obtenir l'arbre, il suffit alors de faire un affichage de l'attribut A (table initiale), de l'attribut B (table initiale), de l'attribut B (table copie1), de l'attribut B (table copie2)... je pense que vous avez compris l'idée
Ainsi on peut dérouler l'arbre et obtenir l'ensemble des pères et des fils associés dans une table!
J'espère en avoir aidé quelques uns
Bonjour,
oui cela fonctionne.
Par contre si on a (comme dans beaucoup de liens pere/fils) une notion de hiérarchie à conserver pour les liens (cf mon post http://www.developpez.net/forums/d14...ministratives/) c'est plus compliqué.
en faisant comme cecije récupère bien tous mes agents, leur affectation, et les structures administratives au dessus.
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 SELECT T_Agents.ID_Agent, T_Agents.[NOM/Prénom], T_Structures.LB_Structure, T_Structures_1.LB_Structure, T_Structures_2.LB_Structure, T_Structures_3.LB_Structure, T_Structures_4.LB_Structure FROM (T_Agents LEFT JOIN (T_Structures RIGHT JOIN TR_Agent_Structure ON T_Structures.ID_Structure=TR_Agent_Structure.FK_Structure) ON T_Agents.ID_Agent=TR_Agent_Structure.FK_Agent) LEFT JOIN (T_Structures AS T_Structures_4 RIGHT JOIN ((T_Structures AS T_Structures_3 RIGHT JOIN ((T_Structures AS T_Structures_2 RIGHT JOIN ((T_Structures AS T_Structures_1 RIGHT JOIN TR_Structures ON T_Structures_1.ID_Structure=TR_Structures.FK_Structure_pere) LEFT JOIN TR_Structures AS TR_Structures_1 ON T_Structures_1.ID_Structure=TR_Structures_1.FK_Structure_fille) ON T_Structures_2.ID_Structure=TR_Structures_1.FK_Structure_pere) LEFT JOIN TR_Structures AS TR_Structures_2 ON T_Structures_2.ID_Structure=TR_Structures_2.FK_Structure_fille) ON T_Structures_3.ID_Structure=TR_Structures_2.FK_Structure_pere) LEFT JOIN TR_Structures AS TR_Structures_3 ON T_Structures_3.ID_Structure=TR_Structures_3.FK_Structure_fille) ON T_Structures_4.ID_Structure=TR_Structures_3.FK_Structure_pere) ON T_Structures.ID_Structure=TR_Structures.FK_Structure_fille;
Mais si je souhaite afficher la liste des agents, puis une colonne par type hiérarchique de structure, là je n'y parviens pas en une seule requête.
si le message est pertinent : un petit si votre problème est résolu, n'oubliez pas le Tag Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager