Re: Besoin d'aide Requêtes

Posté par cyber152 le 3/1/2005 23:24:26
Bonjour DrCharly93,

Merci avant tout pour votre coup de main, votre aide m'a été tres utile, j'ai adapté que légérement le code que vous m'avais fournit afin d'obtenir ceci :


rs est une Source de Données
sql est une chaîne

sql="SELECT IDASSOCIATION AS IDASSOCIATION,
 NOM AS Nom,PRENOM AS Prenom,
CodePostal AS CODEPOSTAL 
FROM Client 
GROUP BY client.IDassociation, 
Client.NOM, Client.PRENOM, 
Client.CodePostal 
HAVING IDassociation=2"

SI PAS HExécuteRequêteSQL(rs,hRequêteDéfaut,sql) ALORS
	Erreur(HErreurInfo)
	RETOUR
FIN

HLitPremier(rs)
TANTQUE PAS HEnDehors(rs)
         TableAjoute(Table4,rs.idassociation+TAB+rs.nom+TAB+rs.prenom+TAB+rs.codepostal)
HLitSuivant(rs)

FIN



cela affiche bien par exemple les "nom,prenom,codepostal" pour "l'association portant l'ID n°2"

Ma question, comment puis-je dire à ma requête qu'elle doit sélectionner soit "une IDassociation" ou quelle peut aussi être amené a selectionner plusieurs "IDassociation" ?

j'ai bien tenté de définir un champ de saisie qui recevra le numéro de l'id de l'association que devra affiché la requete
dans la table,et en modifiant la ligne:


sql="SELECT IDASSOCIATION AS IDASSOCIATION,
NOM AS Nom,PRENOM AS Prenom,
CodePostal AS CODEPOSTAL FROM Client GROUP BY client.IDassociation, Client.NOM, Client.PRENOM, Client.CodePostal HAVING IDassociation="+Saisie1..ValeurAffichée



Mais cela ne fonctionne pas avec un point virgule(;), comme cela fonctionne lors de la création d'une requete si j'utilise l'assisstant du programme en définissant la condition "tels que IDAssociation est dans la liste {{Param1} } dans ce cas Param1 correspond à la valeur affiché dans mon champs de saisie et il suffit de séparer par un point virgule pour choisir plusieurs associations 2;6;8 etc...".

Mais la je m'avance peut etre un peut et je ne sais pas si cela fonctionne, car je dois garder à l'esprit que si une personne fait partie de plusieurs "IDASSOCIATION" elle ne devra s'afficher qu'une seul fois dans ma table

Mais je pense que vous pourrez m'en dire plus vos connaissance dépasse largement les miennes et m'ont déjà permis de résoudre une partie de mon problème

Je me rend bien compte que mon analyse n'est pas correcte et qu'elle est contraire à une base de données relationnelle,
s'il est plus facile de la modifier pour éviter la saisie en double ou en triple d'un "client" qui peut appartenir à plusieurs "associations", comment dois je faire pour éviter cela (je sais bien ca peut paraitre idiot mais faut bien commencer un jour )

Encore une fois merci pour votre aide, et Meilleurs voeux pour cette nouvelle année.


Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1617&post_id=6722