|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour,
Je suis actuellement en stage dans le cadre de ma deuxième année de DUT Informatique et je dois réaliser une application Access pour l'entreprise. Cependant, je n'en ai jamais fait auparavant et je rencontre donc quelques difficultés. J'aimerais savoir s'il est possible d'afficher deux champs différents dans une même colonne. Dans mon cas, j'ai deux tables "Compétences" et "Modules" qui contiennent les mêmes champs "code" et "libellé". J'aimerais, pour les deux tables, obtenir un formulaire avec une seule colonne code et une seule colonne libellé. Je vous remercie d'avance pour votre aide. Cordialement, Prettyletter |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Sendme Inscription : avril 2006 Messages : 86 ![]() |
Bonjour,
Dans la requête source de ton formulaire, il faut afficher tes 2 tables "Compétences" et "Modules" liées par un ID unique. c'est par exemple une colonne contenant le n° des dossiers qui sont identiques dans les 2 tables (champ n° auto) Ensuite dans le champ concerné : ColonneLib : [code] & " - " &[libellé] |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Je me permet de remonter le sujet car j'ai trouvé une astuce qui pourrait peut-être fonctionner mais ce n'est pas encore ça.
Comme les enregistrements ne peuvent pas être à la fois des compétences et des modules, j'ai effectué une concaténation dans la sélection. C'est-à-dire que, en prenant pour exemple les libellés, j'ai fait la sélection suivante : Code :
SELECT MODULES.[libelle] & "" & COMPETENCES.[libelle] AS [libelle] Ce qui me pose problème avec cette méthode, c'est qu'il faut bien attribuer pour chaque champ celui qui est affecté lors d'une modification. Et je dois obligatoirement choisir MODULES.[libelle] OU COMPETENCES.[libelle], or cela dépend de l'enregistrement en question... Je ne sais pas si j'ai été clair, j'attends avec impatience vos réponses. Edit : Merci pour ta réponse, sendme. En fait, les enregistrements dans mes deux tables ne sont pas identiques, elles ont simplement les mêmes intitulés de colonne. Elles possèdent les mêmes types de données mais ne sont pas enregistrées dans une même table. Je souhaiterais "mélanger" les deux tables pour n'en former qu'une seule. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour,
N'ayant toujours pas trouvé de solution, je relance la discussion. |
|
|
00
|
|
|
#5 | ||||
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Bonjour,
J'avoue ne pas comprendre ton problème... et je souhaiterais donc qq précisions pour tenter de t'aider (sans garantie !). J'imagine que le champ "Code", dans les deux tables est celui qui va te permettre d'établir une relation entre les deux tables (qui donc doivent contenir des (ou quelques) codes identiques que l'on va retrouver dans l'une et l'autre table) et que seuls les libellés diffèrent pour un même code présent dans les 2 tables... est-ce bien cela ? style : Code :
- une requete dont le résultat concatène pour un même code les champs "libellés" des deux tables ? Ce qui donnerait ici : Code :
- Peux tu montrer une partie du code que tu as fait pour cela et qui ne fonctionne pas, ou un exemple simplifié (comme j'ai tenté de le faire ci-dessus) ? Merci pour les éventuelles précisions Michel |
||||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour et merci pour ta réponse.
En fait, mes deux tables ne sont pas en relation. J'ai une table Modules comprenant les champs "ID", "CODE" et "LIBELLE", et une table Compétences comprenant les trois mêmes champs mais n'ayant aucune relation entre eux. Je souhaiterais obtenir un tableau où Compétences et Modules seraient mélangés. Trois colonnes ID, CODE et LIBELLE pour deux tables. Après, peut-être que c'est impossible... |
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Si je comprends bien tes 2 tables ont la même structure mais des données différentes et si cet ensemble constituait une seule et même table tu résoudrais sans doute ton problème.
Partant de cela (si pas d'erreur d'interprêtation de ma part), tu pourrait créer une 3° Table à la structure strictement identique et en début de traitement 1 - Tu crées une requete "Ajout" de la Table "Commentaires" vers la nouvelle table ... et tu l'exécutes 2 - Tu crées une requete "Ajout" de la Table "Modules" vers la nouvelle table ... et tu l'exécutes 3 - Tu fais les traitements que tu voulais faire avec tes 2 tables mais à partir de la nouvelle table. 4 - Ces traitements étant terminés, tu vides la nouvelle table en vue de t'en resservir de la même manière lors du prochain traitement. En terme de programme cela pourrait donner un truc du genre : Code :
Michel |
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Oui c'est exactement ça, les données pourraient tout aussi bien être dans la même table mais elles ne le sont pas car ce ne sont pas les mêmes données. Je pense que cette solution serait trop lourde car j'ai beaucoup d'enregistrements dans ces tables.. Il n'existe pas de solution pour les afficher l'une après l'autre, par exemple? Ou avec l'attribut UNION en SQL?
|
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Je crois que c'est donc ceci que tu souhaites ?
Code :
SELECT Modules.* FROM Modules UNION SELECT Commentaire.* From Commentaire Michel |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
C'est bien ça, merci!
Maintenant, c'est un détail, mais est-il possible avec un attribut UNION de trier d'abord la première requête PUIS la deuxième? Je voudrais que tous les modules soient d'abord affichés par ordre croissant (identifiant) et qu'ensuite soient affichés les compétences par ordre croissant. J'ai mis une clause ORDER BY sur chaque requête mais ça fait un tri général sur les deux tables. |
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 583 ![]() |
Bonjour
Ajoutes un champ ordre valorisé à 1 dans la 1ère requête et à 2 dans le seconde et fait un tri double sur ce champ + l'Id. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com