|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Michel développeur javascript et PHP en rech d'emploi Inscription : juillet 2011 Messages : 82 ![]() |
La requete SQL suivante fonctionne quand les champs nom et prenom ne sont pas des références à une autre table :
Code sql :
SELECT [prenom] & « » & [nom] AS [prénom et nom] FROM table1 ; J’obtiens bien « Jean Dumas » Mais si ce sont des références, j’obtiens « 1 3 » ou « 2 6 » ou « 2 1 » |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonjour,
Pourrais-tu nous expliquer ce que tu appelles références ? |
|
|
00
|
|
|
#3 | |||
|
Futur Membre du Club
![]() Michel développeur javascript et PHP en rech d'emploi Inscription : juillet 2011 Messages : 82 ![]() |
une relation un-à-plusieurs entre la table noms qui contient les caractères alphabétiques du nom et la table compositeurs qui contient une clé pointant vers la table nom.
Pardonnez-moi pour cet oubli ! D'ailleurs, votre question m'amènes à me poser le problème suivant: Dans le cas des noms, il n'y a généralement qu'un seul nom, mais dans celui des prénoms, il serait peut-être utile que la table compositeurs pointe vers plusieurs. J'ai vu dans : http://access.developpez.com/sources...QLLigneColonne qu'on pouvait "Concaténer plusieurs enregistrements dans une seule colonne" grâce à un recordset DAO, mais je ne vois pas encore comment le faire. De plus, quand je fais ce genre de manipulation, j'ai souvent des messages d'erreur que je mets du temps à comprendre. J'ai bien essayé : Code sql :
mais il plante, bien sur, en me houspillant : Citation:
alors que [noms].[nom] est un champ texte merci d'avance pour vos réponses ! |
|||
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Michel développeur javascript et PHP en rech d'emploi Inscription : juillet 2011 Messages : 82 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Michel développeur javascript et PHP en rech d'emploi Inscription : juillet 2011 Messages : 82 ![]() |
Il faudrait pouvoir appeler cette sub à chaque fois que l'on modifie la table compositeurs. Or, cela est-il possible sans formulaire ?
|
|
|
00
|
|
|
#6 | ||
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Bonjour michelg77,
Tout d'abords, pour ta requête : L'as tu créé avec l'assistant requête ? elle devrai marcher normalement. Concernant tes tables : Comment sont-elles structurés ? J'ai un peu de mal à voir, car tu parles en même temps de référence (ex : 1, 2, 3) et de nom / prénom (jean, dumas, etc.) Concernant tes recordset, je pense que tu te compliques la programmation. Je te propose donc de nous expliquer l'organisation de ta base avant que l'on puisse t'aider. Enfin, concernant l'appel de la sub (dans ce cas, une fonction me semble plus indiquée), elle s'exécute directement dans le SQL, comme le décrtit Tofalu dans son tutoriel. C'est là une des grandes forces d'Access : tu peux implémenter automatiquement toi-même des fonctions intégrées dans ton SQL, alors que ce n'est pas possible avec d'autres bases intégrer. Ainsi, la commande SQL suivante : Code :
Select ma_fonction(mon_champ) from ma_table; Code :
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
||
|
|
00
|
|
|
#7 | |
|
Futur Membre du Club
![]() Michel développeur javascript et PHP en rech d'emploi Inscription : juillet 2011 Messages : 82 ![]() |
Ma requête citée en message n°1 a été écrite il y a des mois de cela et a toujours fonctionnée.
C’est seulement quand j’ai voulu l’appliquer à une nouvelle table que je me suis aperçu qu’elle ne fonctionnait plus à cause des jonctions. Je suis en train de créer la base de données, et j’ai un peu de mal avec les types de jointures. De plus, access 2000 ne m’affiche pas toutes les relations contrairement à ce que dis le menu relations: Citation:
Pour éviter que l’on aie à saisir des tonnes de choses, je souhaite que l’on entre une seule fois un prénom. Pour cela, je les ai mis dans la table prénoms. Idem pour la table noms. Dans la table compositeurs j'ai les champs : Nom Prénom Date de naissance Lieu de naissance etc. Enfin, dans une autre table, que l’on va appeler Oeuvres, il faut qu’on puisse accéder aux compositeurs sous la forme : Jean-Sébastien Bach (1685-1750) D’où mon passage par une requête req_compositeurs . Je ne pense pas qu’on aie d’autre choix. En bref, pour ce qui nous occupe ici, je dois passer par une requête qui appellera une fonction publique. J’avais bien compris ça. Mais je prends note que les autres bases de données ne permettent pas ce genre de manip. Intéressant. Mais ce qui me paraît capital, c’est qu’il faut que cette fonction soit appelée automatiquement, de manière à ce que chaque modification de la table compositeurs se répercute instantanément dans la table Œuvres grâce à req_compositeurs. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com