|
Accueil → WINDEV 2024 → [Newbie] Parser une requête pour l'afficher dans des onglets dynamiques |
[Newbie] Parser une requête pour l'afficher dans des onglets dynamiques |
Débuté par phv67, 17 mar. 2018 08:21 - 2 réponses |
| |
| | | |
|
| |
Membre enregistré 4 messages |
|
Posté le 17 mars 2018 - 08:21 |
Bonjour à toutes & à tous.
Je galère depuis 2 jours à essayer d'afficher des données provenant de 4 fichiers sur une même fenêtre. J'ai mis en place une requête qui testée me renvoie bien les données attendues. Idem quand j'évalue l'expression de la requête dans le débogueur.
Le but : Afficher les coordonnées d'une organisation et de son contact en fonction du rôle du contact. Chaque rôle est affecté à un onglet, un clique sur onglet affichera l'adresse du rôle du contact.
Les symptômes : 1) si les onglets sont bien créés mais leur contenu n'est pas affiché 2) les champs de l'organisation ne sont pas affichés 3) les champs de l'adresse ne sont pas affichés.
Je vous livre ici, l'analyse, la requête, et le code censé afficher tout ça. A mon sens c'est dans le code que je merdoie, toute piste, conseil, avis me sera précieux.
Merci ! Cordialement, Philippe
SELECT EXPRESS_ROLES.IDEXPRESS_CONTACTS AS IDEXPRESS_CONTACTS, EXPRESS_ROLES.IDEXPRESS_ROLES AS IDEXPRESS_ROLES, EXPRESS_ROLES.Type AS Type, EXPRESS_ROLES.IDEXPRESS_ORGANISATIONS AS IDEXPRESS_ORGANISATIONS_EX, EXPRESS_ORGANISATIONS.IDEXPRESS_ORGANISATIONS AS IDEXPRESS_ORGANISATIONS, EXPRESS_ORGANISATIONS.Libellé AS Libellé, EXPRESS_ORGANISATIONS.Site_Internet AS Site_Internet, EXPRESS_ORGANISATIONS.SIREN AS SIREN, EXPRESS_ORGANISATIONS.SIRET AS SIRET, EXPRESS_ROLES.IDEXPRESS_ADRESSE AS IDEXPRESS_ADRESSE, EXPRESS_ADRESSES.Numero_de_voie AS Numero_de_voie, EXPRESS_ADRESSES.Type_de_voie AS Type_de_voie, EXPRESS_ADRESSES.Adresse1 AS Adresse1, EXPRESS_ADRESSES.Adresse2 AS Adresse2, EXPRESS_ADRESSES.Code_Postal AS Code_Postal, EXPRESS_ADRESSES.Cedex AS Cedex, EXPRESS_ADRESSES.Ville AS Ville, EXPRESS_ADRESSES.Pays AS Pays, EXPRESS_ADRESSES.Adresse_email AS Adresse_email, EXPRESS_ADRESSES.Téléphone AS Téléphone FROM EXPRESS_ADRESSES, EXPRESS_ROLES, EXPRESS_ORGANISATIONS WHERE EXPRESS_ORGANISATIONS.IDEXPRESS_ORGANISATIONS = EXPRESS_ROLES.IDEXPRESS_ORGANISATIONS AND EXPRESS_ADRESSES.IDEXPRESS_ADRESSE = EXPRESS_ROLES.IDEXPRESS_ADRESSE AND ( EXPRESS_ROLES.IDEXPRESS_CONTACTS = {ParamIDEXPRESS_CONTACTS} )
Procedure MaFenêtre() Alias_ONG_Roles est un Champ tab_onglet est un tableau d'entiers Drapo_ok est un booléen
HRecherche(EXPRESS_CONTACTS,IDEXPRESS_CONTACTS,1,hIdentique) HLitPremier(EXPRESS_CONTACTS,IDEXPRESS_CONTACTS)
HLibèreRequête(EXPRESS_REQ_ChercheLiensRoleContact) Drapo_ok = HExécuteRequête(EXPRESS_REQ_ChercheLiensRoleContact,hRequêteDéfaut,EXPRESS_CONTACTS.IDEXPRESS_CONTACTS) HLitPremier(EXPRESS_REQ_ChercheLiensRoleContact)
TANTQUE PAS HEnDehors(EXPRESS_REQ_ChercheLiensRoleContact) Alias_ONG_Roles <- OngletOuvre(ONG_Roles, EXPRESS_ROLES.Type+" "+EXPRESS_ORGANISATIONS.Libellé) Ajoute(tab_onglet,EXPRESS_ROLES.IDEXPRESS_ROLES) HLitSuivant(EXPRESS_REQ_ChercheLiensRoleContact) FIN
ONG_Roles = 1
FichierVersEcran(EXPRESS_FEN_Contact,EXPRESS_ROLES) FichierVersEcran(EXPRESS_FEN_Contact,EXPRESS_CONTACTS) FichierVersEcran(EXPRESS_FEN_Contact,EXPRESS_ADRESSES) FichierVersEcran(EXPRESS_FEN_Contact,EXPRESS_ORGANISATIONS)
-- Newbie sur WinDev, j'ai suivi le parcours d'auto-formation de la version Express 22. J'ai 30 ans de développement sur 4D (pas taper) et je m'essaye à d'autre langages dont Swift et... Windev.... Votre aide est la bienvenue, merci. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 923 messages Popularité : +53 (65 votes) |
|
Posté le 17 mars 2018 - 11:33 |
Bonjour,
Peut-être que vous en demandez un peu trop aux automatismes Vous devez remplir le contenu de votre onglet par programmation :
Procedure MaFenêtre()
HLitPremier(EXPRESS_CONTACTS,IDEXPRESS_CONTACTS)
SI HExécuteRequête(EXPRESS_REQ_ChercheLiensRoleContact,hRequêteDéfaut,EXPRESS_CONTACTS.IDEXPRESS_CONTACTS) ALORS POUR TOUT EXPRESS_REQ_ChercheLiensRoleContact gsAlias est une chaîne = OngletOuvre(ONG_Roles, EXPRESS_ROLES.Type+" "+EXPRESS_ORGANISATIONS.Libellé) ExécuteTraitement("ONG_Roles[" + gsAlias + "]", "MaProcedureInterne", trtProcedure) FIN FIN
ONG_Roles = 1
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 messages |
|
Posté le 17 mars 2018 - 22:52 |
Merci Jean-Pierre pour cette piste.
Il va falloir que je me penche sur cette commande "exécute traitement". Merci également pour l'élagage qui évite un peu de code inutile
Je suis parti sur une stratégie d'onglet dynamique, je me demande si on peut faire ça avec des onglets statiques ? (j'ai parcouru vite fait la doc à ce sujet sans chercher plus loin).
Ce qui me chiffonne c'est que j'y étais arrivé 'par la bande' avec des hrecherche mais je n'ai pas gardé le code car il ne répondait qu'en partie à mon besoin.
Avec mes remerciements les plus cordiaux, Philippe
-- Newbie sur WinDev, j'ai suivi le parcours d'auto-formation de la version Express 22. J'ai 30 ans de développement sur 4D (pas taper) et je m'essaye à d'autre langages dont Swift et... Windev.... Votre aide est la bienvenue, merci. |
| |
| |
| | | |
|
| | | | |
| | |
|