Message de rapport:
 

Re: Aide sur construction de chaine

Sujet: Re: Aide sur construction de chaine
par drcharly93 sur 20/2/2008 14:25:01

Bonjour,

Modifier votre requête SQL comme suit en supprimant la table anomalie
SELECT 
	TableHydrant.idHydrant AS idHydrant,	
	TableCommunes.commune AS commune
FROM 
	TableCommunes,	
	TableHydrant
WHERE 
		TableCommunes.inseeCommune	=	TableHydrant.inseeCommune
	AND
	(
		TableCommunes.commune LIKE {Param_commune}%
	)
ORDER BY 
	idHydrant ASC 

Ainsi chaque enregistrement retourné ne contiendra q'un enregistrement par idHydratant avec la commune associée.

C'est dans le corps de l'état que vous allez effectuer la recherche des anomalie associées, à chaque enregistrement car apparement un enregistrement TableHydratant est lié à plusieurs enregistrement issus de TableAnomalies

vous pouvez donc dans le bloc avant impression du bloc corps écrire ce type de code:
sAnomalie est une chaine

Rs est une source de donnees
SQL est une Chaine
//Ici IdAnomlie représente ma clé unique du fichier TableAnomalies
SQL = "SELECT IdAnomalie FROM TableHydrantsAnomalies WHERE idHydrant = " + MaSource.idHydrant
//On recherche toutes les anomalies liées à un idHydratant
SI PAS HExecuteRequeteSql( Rs, HRequeteDefaut, Sql ) Alors
 ERREUR(HErreurInfo()
 RETOUR
FIN
//Ici On concatène les libellés trouvé
POUR TOUS Rs
  //On se position sur l'anomalie liée
  HLitRecherche (TableAnomalies,IdAnomalie, Rs.IdAnomalie)
  Si sAnomalie <> "" Alors sAnomalie += "; "
  sAnomalie = TableAnomalies.libelle
Fin
//Ici affecté sAnnomalie à un champs de votre état style
LIB_DANS_ETAT = sAnomalie
HAnnuleDeclaration (Rs )

Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2