PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → mise à jour fenetre
mise à jour fenetre
Iniciado por franck.lanci, 07,ago. 2019 16:08 - 3 respuestas
Publicado el 07,agosto 2019 - 16:08
Bonjour à tous,

Toujours nouveau mais de jour en jour de moins en moins forcement :D

Mon problème du jour :

j'ai une fenêtre avec un tableau basé sur une requête. cette fenêtre sert aux utilisateurs à consulter différentes listes de personnes(chez moi ce sont des "jeunes"). Et ensuite rentrer dans chaque fiche "jeune" pour y apporter des modifications.

ma fenêtre "liste" est simple, rentrer dans chaque fiche "jeune" à travers une autre fenêtre aucun soucis, l'enregistrement se passe bien et chaque mise à jour s'actualise parfaitement dans le fenêtre "liste" contenant le tableau.
Mais car il y a un mais. Lorsque je suis sur la fenêtre "jeune", j'ai intégré différents boutons pour modifier certains champs de la fiche par le biais de fenêtre interne et appelée par ouvrefille(). Les modifications sont faites sans soucis et s'enregistrent parfaitement et visible dans le fenêtre "liste". et le mais : la fenêtre "jeune" contenant la fiche ne s'actualise pas, la modification se fait mais n'apparait pas sur la fiche "jeune", cela oblige à refermer la fenêtre "jeune" pour se retrouver sur la fenêtre "liste" puis revenir sur la fenêtre "jeune" pour y voir apparaitre les modifs.

Bon c'est pas très clair tout ca :D :D

si qlq un à compris ce que je dis je suis preneur de qlq conseils

Merci
Miembro registrado
72 mensajes
Publicado el 08,agosto 2019 - 16:06
Si je comprend bien, tu fais tes modifications dans une fenêtre fille.

Lors de la fermeture de la fenêtre tu peux te renvoyer un vrai ou faux pour indiquer si tu as fait des modifications ou si tu as fermer la fenêtre sans modification.

Lors de l'ouverture de ta fenêtre fille :

Si OuvreFille(Fen_Modification) = vrai alors
FichierVersEcran
FIN

De cette manière si ta fenêtre renvoie vrai (que tu as fait des modifications) tu demande de raffraichir. Si elle renvoie faux, tu refait pas de raffraichissement inutile car tu n'as rien modifié)

Pour que ta fenêtre renvoie une valeur :
Soit tu fait un :
MaFenetre..valeurrenvoyée = vrai
Ferme()

OU

Ferme("", ValeurARenvoyée(vrai ou faux dans ce cas))

P.S. Je ne comprend pas pourquoi tu utilise une fenêtre fille pour faire des modifications. Lorsque tu fais des modifications tu devrais utilisé une fenêtre standard (fonction Ouvre()) ceci bloque les autres fenêtre ce qui rend ton code plus sur car tu est en train de modifié un enregistrement.

Si par exemple tu ouvre ta fenêtre fille pour faire des enregistrement sur le jeune A et que tu clique dans ta liste pour accéder au jeune B, lorsque tu vas modifié ta fenêtre fille tu vas modifié le jeune B car le pointeur est de ton enregistrement sur la BD est rendu sur le jeune B. Bref, ca peut te causé des soucis de données erronées
Miembro registrado
88 mensajes
Publicado el 08,agosto 2019 - 21:54
Bonsoir,

Merci pour toutes ces infos je vais tester cela.

ET merci aussi pour le soucis sur fenêtre fille. Pkoi je le fais et bien je ne sais pas :D, cela me paraissait logique surement.

--
Merci ;) Franck
Miembro registrado
4.361 mensajes
Publicado el 09,agosto 2019 - 00:59
Bonjour,
Ouvrir une FI via ouvrefille n'est peut être pas l'idéal (Via ouvre non plus d'ailleurs,) d'autant plus que le champ Table permet d'intégrer directement une FI en saisie
https://doc.pcsoft.fr/fr-FR/?1013200#NOTE5_FI_Detail_Ligne

--
Il y a peut être plus simple, mais, ça tourne
Mensaje modificado, 09,agosto 2019 - 01:00