PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment fonctionne TaCourantBandeau ?
Comment fonctionne TaCourantBandeau ?
Iniciado por Virginie, 05,dic. 2018 16:01 - 2 respuestas
Miembro registrado
2 mensajes
Publicado el 05,diciembre 2018 - 16:01
Bonjour,

Je vous expose mon problème en espérant de l’aide.
Sur une de mes fenêtres, je dispose d’une table qui est reliée à ma base de données par programmation.
Il s’y trouve également un bouton ‘Modifie’ qui renvoie vers une autre fenêtre censée ressortir toutes les données de la ligne sélectionnée.
Ci-joint, le code pour ‘clique sur le bouton modifie’
//TableAffiche(EXPRESS_WIN_Personnes.TABLE_Personnes, taCourantBandeau)
Ouvre(EXPRESS_WIN_Enregistrement_Personne,"Modifs")
// Rafraichissement de la table
TableAffiche(TABLE_Personnes,taCourantBandeau)

…Jusque-là, tout va bien !
Et le code de la fenêtre secondaire

FichierVersEcran(EXPRESS_WIN_Enregistrement_Personne,EXPRESS_Personnes)

Sachant que dans cette fenêtre il existe des liaisons entre les différents champs et la base de données

Le problème est que la seule personne à modifier est toujours la dernière inscrite dans la base de donnée.
Comment puis-je récupérer ‘taCourantBandeau’ dans la fenêtre secondaire ? Ou peut-être que la fonction ‘TableAffiche’ n’est pas adapté ?...
Je compte sur vos avis et conseils car à force de chercher, je m’y perds de plus en plus.
Miembro registrado
81 mensajes
Publicado el 07,diciembre 2018 - 14:49
donc 1 fenetre avec une table fichier
1 bouton modifier
Ouvre(fen_modif,"Modifs")
TableAffiche(matable,taCourantBandeau)

dans fen_modif :
fenetre fiche de type champs relié à la base de données (fichierversecran pour affichage, ecranversfichier pour maj )
en ouverture :
FichierVersEcran(fen-modif,monfichier)

c'est bien ça ?

dans ce cas si les liaisons sont faites correctement la fiche qui doit s'afficher doit etre celle qui correspond à l'enregistrement de la table selectionée dans la fenetre 1.

sinon vérifier que la fenetre fen_modif n'est pas en contexte HFSQL independant (onglet detail description de la fenetre)

il ne doit y avoir aucune lecture sur le fichier avec le fichierversecran


si vous voulez etre sur :

sur clic du bouton :
nlig est un entier = tableselect(matable)
si nlig <= 0 alors retour

si pas hlitrecherchepremier(monfichier,moidfichier,matable[nlig].col_idfichier,hlimiteparcours) alors retour

Ouvre(fen_modif,"Modifs")

// ça c'est pour replacer le bandeau sur la bonne ligne et rafraichier les donnes de la ligne en question
TableAffiche(matable,taCourantBandeau)
Publicado el 08,diciembre 2018 - 11:01
Bonjour et merci pour votre réponse.

Alors, la fenêtre n'est pas en HFSQL indépendant.

Du coup j'ai tenté le code que vous avez proposé et ... Cela fonctionne ! C'est bien la bonne personne qui s'affiche dans la fenêtre 'Modif' !

Si j'ai bien saisi vos indications, Il y avait donc effectivement un problème de lecture et il m'indiquait, de ce fait, la dernière personne présente dans la base de donnée.

Un grand merci !
Cordialement,
Virginie