PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Fenêtres internes avec champ Combo filtré en fonction valeur Champ_table parent
Fenêtres internes avec champ Combo filtré en fonction valeur Champ_table parent
Débuté par Arnaud Forster, 27 mar. 2025 20:52 - Aucune réponse
Posté le 27 mars 2025 - 20:52
Bonsoir à tous,

De retour aux affaires après une longue pause, je butte sur le problème suivant :

Dans un programme scolaire de création de classes pour mon établissement, j'essaie d'adapter la création des classes en fonction de plusieurs critères.

- Nous avons plusieurs filières d'étude et chaque filière débute à semestre d'étude différent.

J'ai donc une table avec une liste de semestres (semestre 1.1 ; semestre 1.2 ; semestre 2.1 ; semestre 2.2 ; etc) sachant que le semestre 1.1 est le premier semestre de la 1ère année ; le semestre 1.2 est le deuxième semestre de la première année, etc.

Pour chaque filière, j'ai un champ 'DebutDeFormation' lié sur ma table semestres qui indique à quel semestre débute la formation.

Lors de la création d'une nouvelle année, j'affiche les différentes filières d'études dans un champ table. Pour chaque ligne j'ai une colonne conteneur avec une fenêtre interne. Dans cette fenêtre interne j'ai un champ combo qui affiche la liste des semestres ainsi qu'un champ de saisie nb classes pour savoir combien de classes créer au sein de chaque filière .
Le tableau se présente comme suit :






Chaque filière est regroupée à l'aide d'une rupture de champs (il peut y avoir plusieurs lignes pour chaque filière en raison de plans d'études différents mais qui n'interfèrent pas ici).

Bref, j'ai le code suivant dans mon événement 'Affichage d'une ligne de rupture' :
I
IndiceRupture = TableIndiceRupture(RUPT_HautSection)

// Affichage de ma filière dans le bandeau de rupture
TABLE_Sections[IndiceRupture].LIB_NomSection = "["+TABLE_Sections[IndiceRupture].COL_Abrege+"] Section "
+TABLE_Sections[IndiceRupture].COL_Intitule


// Attribution de ma FI avec passage des paramètres ID de ma filière et ID du semestre de démarrage
CFI_SansNom1[IndiceRupture].ChangeFenêtreSource(FI_CreationClasses,COL_IDSectionFiliere,COL_IDSemestreDemarrage)


Dans le code d'initialisation de ma FI, j'ai ceci :
Procedure MaFenêtre(IDSectionFiliere est un entier sur 8 octets, IDSemestreDemarrage est un entier)
HLitRecherchePremier(semestres,IDSemestre,IDSemestreDemarrage)
//
// Filtrer le champ combo basé sur les semestres pou qu'il 'affiche chronologiquement que ceux >= SemestreDemarrage de
ma filière
SI HTrouve(semestres) ALORS
FI_CreationClasses_1$Requête.ExécuteRequête(hRequêteDéfaut,semestres.Ordre)



Je n'ai aucune erreur lors de l'exécution du code mais mon champ combo des semestres n'est pas filtré et affiche toujours l'ensemble des semestres.
Si quelqu'un $ une idée pour filtrer cette table, je suis preneur :)

Merci à tous pour votre temps
Arnaud