[Résolu] Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Bonjour,
Je souhaite à la suite d'une requete intégrée ou non, avec une rupture récupérer les valeurs du corps qui apparaissent verticalement les mettre horizontalement (" Aaaa; Bbbbbb; ...").
Il s agit d'anomalies correspondantes à un Id clé unique.

Merci de votre aide !

Contribution le : 05/02/2008 18:11

Edité par drcharly93 sur 21/2/2008 13:54:10
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
ChefDeProjet WDF
Inscrit:
02/06/2003 13:49
Post(s): 151
donne une prime de (3000 dollars) a celui qui comprend
et repond a ce message


humour ( pour les 3000 dollars aussi)

Contribution le : 10/02/2008 20:26
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Alors j'explique !
J'ai un fichier produit auquel est lié un fichier anomalies.
Dans un état, je souhaite pouvoir afficher en fonction du produit les anomalies liées.(ça je sais faire )
Pour l'instant, les anomalies s'affichent sous forme de table.
Citation :

Non accessible
Pas de capot
A repeindre

Ce que je souhaite est :
Citation :

Non accessible; Pas de capot; A repeindre


J'espère avoir été cette fois ci assez clair

Merci de votre aide.

Contribution le : 10/02/2008 21:07
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bravo Toco, vous vous êtes rendu compte que vous n'aviez pas de réponse car votre question n'était pas assez clair

Donc dans l'état vous afficher le produit.
vous pouvez donc dans le bloc avant impression du bloc corps écrire ce type de code:
sAnomalie est une chaine

HLitRecherche(Anomalies, CodeArticle, MaSource.CodeArticle)
TantQue HTrouve()
  Si sAnomalie <> "" Alors sAnomalie += "; "
  sAnomalie = Anomalie.libelle
  HLitSuivant()
FIN

Dans mon exemple:
Anomalie représente le nom du fichier Anomalie
CodeArticle représente une clé sur le fichier Article qui lie le fichier Anomalie avec le fichier Article
MaSource mot clé du WLangage qui représente la source en cours en l'occurrence le fichier Article ou basé sur le fichier article
Libelle Rubrique du fichier Anomalie qui contient la valeur à retourner

Contribution le : 11/02/2008 09:46
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Merci pour la réponse, je vais donc tester.

Contribution le : 11/02/2008 10:38
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Bonjour, je me permets de revenir vers vous car j'ai un problème.
J'ai testé le code mais cela ne marche pas.
Je donne d autres précisions :
Il s'agit d'un état sur une requête basée sur 4 fichiers:
- TableCommunes
- TableHydrantsAnomalies
- TableAnomalies
- TableHydrant
La requete est paramétrée sur la commune.
J'arrive à afficher les anomalies sous la forme de tableau correspondantes à chaque hydrant en ayant une rupture sur le numéro d'hydrant.
J'ai également essayé avec le fonction RTFAjoute, mais je n'ai pas de remise à zéro, l'ensembles des données des autres hydrants s'accumulent au fur et à mesure.
Un petit coup de mais et je continue cependant à chercher!

Contribution le : 17/02/2008 16:43
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Peut être serait-il préférable de fournir le code de votre requête

Contribution le : 18/02/2008 10:49
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Bonjour à tous, voici le code
SELECT 
	TableHydrant.idHydrant AS idHydrant,	
	TableAnomalies.anomaliesHydrant AS anomaliesHydrant,	
	TableHydrantsAnomalies.numeroAnomalie AS numeroAnomalie,	
	TableCommunes.commune AS commune
FROM 
	TableCommunes,	
	TableHydrantsAnomalies,	
	TableAnomalies,	
	TableHydrant
WHERE 
		TableAnomalies.numeroAnomalie	=	TableHydrantsAnomalies.numeroAnomalie
	AND	TableHydrant.idHydrant	=	TableHydrantsAnomalies.idHydrant
	AND	TableCommunes.inseeCommune	=	TableHydrant.inseeCommune
	AND
	(
		TableCommunes.commune LIKE {Param_commune}%
	)
ORDER BY 
	idHydrant ASC 



Et voici une modèle:


Merci de votre aide.

Contribution le : 20/02/2008 10:21
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
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 )

Contribution le : 20/02/2008 14:25
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Merci beaucoup, je vais essayer et vous tiens informé.

Contribution le : 20/02/2008 14:40
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Bonsoir,
J'ai bien essayé mais cela ne marche pas.
J'ai tenté également avec l'éditeur de requete avec 2 requete une paramétrée sur l idHydrant et une sur cette requete pour avoir les anomalies en rapport avec la clé anomalie.
req_num_anomalie : idHydrant ; numéroAnomalie
req_anomalie : req_num_anomalie.numéroAnomalie ; anomalie
Avec une fenetre trace j'ai bien les données, mais pas de concatenation dans un libellé.
Je continuer à chercher,et merci de votre aide.

Contribution le : 20/02/2008 20:20
_________________
...
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur construction de chaine
DSI WDF
Inscrit:
12/09/2004 11:07
De aude
Post(s): 279
Bon, il semble que j'ai trouvé.
Peut être peu conventionnel, mais il semble que cel fonctionne
sAnomalies est une chaîne

HExécuteRequête(REQ_Num_Anomalies,hRequêteDéfaut,RUB_Idhydrant)
HExécuteRequête(REQ_Anomalies_hydrant,hRequêteDéfaut,RUB_Idhydrant)

//ici on concatene les lib trouvé
POUR TOUS REQ_Anomalies_hydrant 
	//on positionne sur l'anomalie liée
	SI sAnomalies <> " " ALORS 
	sAnomalies += REQ_Anomalies_hydrant.anomaliesHydrant
	sAnomalies += "; "
	FIN
FIN
//ici on affecte sanomalie à un champ de l'état
LIB_LIBELLE1 = sAnomalies 


Merci à vous

Contribution le : 20/02/2008 22:28
_________________
...
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


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