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
|