How to display household members registered in one section of the form in another section?

Bonsoir,

J’ai un formulaire comportant plusieurs groupes, dont les groupes 2 et 3 sont définis en begin_repeat.

Le groupe 1 sert à enregistrer la liste des membres du ménage. À cette étape, tous les noms des membres sont correctement saisis et affichés.

Cependant, lorsque je passe au groupe 2, qui est également en repeat, seul le nom du premier membre du ménage s’affiche pour toutes les répétitions, au lieu d’afficher le nom correspondant à chaque membre.

Auriez-vous une idée de l’origine de ce problème et de la manière de le corriger ?

Merci d’avance pour votre aide.

Welcome to the community, @enqueteur_ci1! Did you mean everything that is entered in the first repeat should automatically pop-up in the second repeat? Feel free to correct me if I understood your issue differently.

Oui, exactement.

Dans la première répétition, j’enregistre tous les membres du ménage (nom, âge, sexe, etc.). Ensuite, dans une deuxième répétition, je souhaite collecter des informations complémentaires pour chaque membre.

Mon objectif est que chaque membre enregistré dans la première répétition apparaisse automatiquement dans la deuxième répétition afin que je puisse saisir les informations correspondantes.

Actuellement, seul le premier membre du ménage s’affiche dans toutes les répétitions de la deuxième section.

Merci.

Je souhaite uniquement récupérer et afficher le nom de chaque membre du ménage saisi dans la première répétition dans la deuxième répétition, afin de renseigner des informations supplémentaires pour chaque personne.

You can do this with two repeats: the first to build the roster, the second to loop over the same members and ask follow‑up questions, using count() and indexed-repeat()/position(..)

Here is a sample xlsform, i have retrieved the names,age and sex but you can only keep it to name alone…
survey sheet

type name label repeat_count calculation
note hh_note List all household members.
begin_repeat hh_member Household member
text hh_name Member name
select_one sex hh_sex Sex of ${hh_name}
integer hh_age Age of ${hh_name}
end_repeat
note followup_note Now some follow‑up questions for each member.
begin_repeat hh_followup Member follow‑up count(${hh_member})
calculate cur_name indexed-repeat(${hh_name}, ${hh_member}, position(..))
calculate cur_sex indexed-repeat(${hh_sex}, ${hh_member}, position(..))
calculate cur_age indexed-repeat(${hh_age}, ${hh_member}, position(..))
text fu_q1 Follow‑up for ${cur_name} (age ${cur_age})
end_repeat
1 Like

Merci beaucoup pour votre aide et pour l’exemple fourni.

Oui, c’est exactement ce que je cherchais à faire : utiliser une première répétition pour enregistrer tous les membres du ménage, puis une deuxième répétition pour collecter des informations complémentaires sur ces mêmes membres.

Votre explication concernant l’utilisation de count(), indexed-repeat() et position(..) m’est très utile. Je vais adapter mon formulaire en conséquence et effectuer des tests.

Merci encore d’avoir pris le temps de me guider.