PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Mettre à jour une table dans une autre fenêtre
Mettre à jour une table dans une autre fenêtre
Started by Pascal Dehovre, Oct., 08 2017 3:00 PM - 8 replies
Registered member
4 messages
Posted on October, 08 2017 - 3:00 PM
Bonjour et merci d'avance.
Comment mettre à jour une table remplie par une requête qui ne se trouve pas sur la même fenêtre?

Exemple pour un hôtel:
J’ai une fenêtre interne (FI_Chambres) qui affiche les données de la table ‘’Chambres’’ et sur la droite une table basée sur une requête permettant d’afficher toutes les chambres.

J’ai un bouton ajouter qui permet d’ajouter une chambre via une autre fenêtre FEN_Encodage_des_chambres (normale pas FI).

J’effectue l’ajout mais comment mettre à jour l’affichage de la table dans la fenêtre fille via le bouton validation de la fenêtre encodage (FEN_Encodage_des_chambres) ?

J'ai déjà essayé:
HExécuteRequête(fi_chambres.req_affiche)
tableaffiche(fi_chambres.tables_chambre) Mais c'est pour la fenêtre dont on a le focus.. Comment effectuer ce traitement depuis la fenêtre dont on a le focus pour effectuer la mise à jour de la table dont on a pas le focus ?

D'avance merci, car je suis bloqué depuis plusieurs heures...

--
Abroad Design VE sprl
Agence digitale
agencedigitale.be
+32 486 78 33 63
Registered member
1,144 messages
Popularité : +50 (142 votes)
Posted on October, 08 2017 - 3:35 PM
Bonjour,
Il faut créer une procédure de mise à jour dans la fenêtre interne. et c'est elle qu'il faudra appeler.
Registered member
1,144 messages
Popularité : +50 (142 votes)
Posted on October, 08 2017 - 7:08 PM
Ou
Il faut utiliser les variables de retour de la fenêtre d'ajout
Voici un code que j'utilise dans le bouton qui ouvre ma fenêtre d'ajout :
SI Ouvre(FEN_SalarieAjoute) ALORS
TableAffiche(TABLE_REQ_SalariéListeComplete,taRéExécuteRequete)
FIN


à mettre dans l'initialisation de la fenêtre d'ajout :
MaFenêtre..ValeurRenvoyée=Faux


à mettre dans le bouton de validation de la fenêtre d'ajout :
Ferme("",Vrai)


La mise à jour dans la fenêtre interne (FI) se fera à la fermeture de la fenêtre d'ajout (FEN)
Registered member
4 messages
Posted on October, 09 2017 - 8:29 AM
Un grand merci Monsieur Thierry Tellier.
Cela fonctionne parfaitement
Bonne journée

--
Abroad Design VE sprl
Agence digitale
agencedigitale.be
+32 486 78 33 63
Posted on August, 14 2018 - 1:24 PM
THIERRY TILLIER a écrit :
Ou
Il faut utiliser les variables de retour de la fenêtre d'ajout
Voici un code que j'utilise dans le bouton qui ouvre ma fenêtre d'ajout :
SI Ouvre(FEN_SalarieAjoute) ALORS
TableAffiche(TABLE_REQ_SalariéListeComplete,taRéExécuteRequete)
FIN


à mettre dans l'initialisation de la fenêtre d'ajout :
MaFenêtre..ValeurRenvoyée=Faux


à mettre dans le bouton de validation de la fenêtre d'ajout :
Ferme("",Vrai)


La mise à jour dans la fenêtre interne (FI) se fera à la fermeture de la fenêtre d'ajout (FEN)
Posted on August, 14 2018 - 1:26 PM
Excusez-moi mais y aurait-il un moyen d'éviter de fermer le fenêtre à chaque fois qu'on effectue un engistrement ?
Posted on August, 14 2018 - 1:55 PM
LeoGold a écrit :
> Excusez-moi mais y aurait-il un moyen d'éviter de fermer le fenêtre à chaque fois qu'on effectue un engistrement ?

oui bien sur, si tu as un bouton validation dans la fenêtre FEN_Encodage_des_chambres , tu dois pouvoir faire appel à une procédure dans la fenêtre appelante qui régénère la table après son effacement.


Jeff
Posted on August, 14 2018 - 7:02 PM
Désolé mais j'ignore comment le faire dans ce cas. Si je suis la procédure de M.THIERRY TILLIER , j'obtiens le résultat voulu mais je remarque qu'à chaque enregistrement, la fenêtre appelée se referme en laissant place à la fenêtre appelante ; ce qui est normal de par l'appel de Ferme("",Vrai). Mais comment maintenir la fenêtre appelée ouverte pendant les différents enregistrements toute en actualisant l'appelante ?
Posted on August, 17 2018 - 10:57 AM
Bonjour,
Voici une solution, "inspirée" du design pattern observateur:
1. La fenêtre mère possède une procédure qui va mettre à jour l'affichage.
2. La fenêtre fille possède un paramètre de type procédure.
A l'ouverture de la fenêtre fille, il suffit d'affecter au paramètre la
procédure idoine.
Et à chaque fois que l'affichage doit être mis à jour, la fenêtre fille
"appelle" la procédure via son paramètre.

Voir l'aide en ligne du type de variable Procédure pour plus d'infos.

Frédéric.

"LeoGold" a écrit dans le message de groupe de discussion :
201859f62e6e730fbadb94cff4de7f40a37c@news.pcsoft.fr...

Désolé mais j'ignore comment le faire dans ce cas. Si je suis la procédure
de M.THIERRY TILLIER , j'obtiens le résultat voulu mais je remarque qu'à
chaque enregistrement, la fenêtre appelée se referme en laissant place à la
fenêtre appelante ; ce qui est normal de par l'appel de Ferme("",Vrai). Mais
comment maintenir la fenêtre appelée ouverte pendant les différents
enregistrements toute en actualisant l'appelante ?