PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 22 → Raffraichir une table dans un onglet (fenetre interne)
Raffraichir une table dans un onglet (fenetre interne)
Débuté par SEBDEPARIS, 21 oct. 2017 17:58 - 7 réponses
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 21 octobre 2017 - 17:58
Bonjour

j'essaies en vain de passer un "tableaffiche(matablebaseesurunerequeteparametree,tainit) à une table située sur le 2eme onglet d'un champ onglet suite a l'ajout d'un enregistrement...

Fen_principale ->CFI_principal -> FI_licence ->ONG_licence ->volet2 -> matablebaseesurunerequeteparametree

Toutes mes tentatives sont infructueuses.

Quelqu'un peut il me mettre sur la voie car je tourne en rond ?

Merci

seb
Membre enregistré
394 messages
Posté le 22 octobre 2017 - 01:28
Coucou,

Tu as essayer d utliser ..NomComplet ?

--
Charly CanDo - In üs we trust - #92i
Do. Or do not. There is no try - #y0d4

(#Compétence & #rapidité & #implication & #references) > #PasDeCV
Je suis disponible pour du consulting Windev (#debug #Optimization #System #Etc)
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 22 octobre 2017 - 01:51
Bonsoir

oui, cela me renvoi : FEN_Principale.CFI_principal.FI_licence.matablebaseesurunerequeteparametree

et cela coince sur FI_licence. Cela me dit que FI_Licence n'existe pas dans FEN_Principale.CFI_principal

TableAffiche(FEN_Principale.CFI_principal.FI_licence.matablebaseesurunerequeteparametree,taInit)
Membre enregistré
223 messages
Posté le 22 octobre 2017 - 09:41
Bonjour,
Et si tout simplement tu écrivais :
TableAffiche(CFI_Principale.TABLE_Licence,taInit)

Je viens de tester, ça fonctionne

N.B. J'ai simplifié le nom de la table. Trop long pour un dimanche matin.

N.B. 2 le code est dans la fenêtre principale
--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 22 octobre 2017 - 09:45
Membre enregistré
82 messages
Posté le 22 octobre 2017 - 13:17
Bonjour

Il faut passer par une chaine il me semble,
le champ fenetre interne peut avoir differentes fenêtres internes, ne pas mettre dans le code directement le nom de la fenêtre interne, le compil n appréciera pas.
Il faut passer les noms de tes fi dans des chaines et en utilisant NomComplet surtout
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 23 octobre 2017 - 21:43
ok merci à vous 2

J'ai réussi ;-)
Membre enregistré
27 messages
Posté le 25 octobre 2017 - 09:36
Bonjour,

la réponse est validée, mais j'ai une autre suggestion à faire.

Dans la fenêtre interne, tu crées une procédure Rafraichir

Procedure Rafraichir()
TableAffiche(TABLE_Licence,taInit)


Ensuite, dans le code de ta fenêtre principale, tu utilises le code suivant :
Onglet est un Champ <- Onglet2[AliasOnglet]
Onglet.FI_licence.Rafraichir()


AliasOnglet correspond à l'alias de ton onglet quand tu le créées avec OngletOuvre.

Avec cette méthode, tu simplifies la dépendance entre ta fenêtre interne et la fenêtre mère.

--
Johjo aka Jonathan Laurent

Mon blog : http://blog.ytreza.org
Twitter : @Johjo07
Membre enregistré
394 messages
Posté le 25 octobre 2017 - 12:24
Coucou,

je suis tout a fait d accord avec l iddee ^^

Si tu passr par demandemiseajourihm c encore mieux ^^

--
Charly CanDo - In üs we trust - #92i
Do. Or do not. There is no try - #y0d4

(#Compétence & #rapidité & #implication & #references) > #PasDeCV
Je suis disponible pour du consulting Windev (#debug #Optimization #System #Etc)