Professional > Interview scripting > Writing interview scripts > Repetitive actions in the routing section > Repeating questions
 
Repeating questions
There are two ways of repeating questions. One method saves the data separately for each repetition as if each repetition were a completely separate question, while the other simply redisplays the same question and overwrites any existing data with whatever answer the respondent gives for the current repetition. In order for your script to function as you intend and to save all the data you expect to collect, you must be careful that you define and ask repeated questions in the appropriate way.
More often than not, you will want to treat each repetition of a question as if it were a separate question, and to save data for all repetitions. To do this, you must define the question as a loop or grid in the metadata section. This generates separate columns in the case data for each repetition, even if not all respondents answer all repetitions. For more information, see Repeated questions.
If you do not define a question as a loop or grid, only one column or set of columns is allocated to the question in the case data. If you ask the question more than once, each repetition is treated as a re-presentation of a previously asked question, so the question will be displayed with its previous response shown, just as if the respondent had used the Previous button to return to the question. If the respondent replaces the displayed answer with a new answer, the new answer overwrites the existing answer in the case data.
This second approach is not wrong if you really want respondents to see their existing answers and to be able to change them in this way. You might do this if you have some key questions that you want to verify before closing the interview. It is also not wrong if, as shown in some of the examples in other topics in this section, you are redisplaying the question because the respondent has made some sort of error.
To display repeated (loop) questions on separate pages during interviews
Type:
LoopName[..].Ask
[..] is means "iterate over all the objects in the named collection". For more information, see Asking repeated questions.
[..] can be used with any object in the Interview Object Model to repeat an action for every element in that object. For more information, see Object collection iteration.
To present the same question more than once
Do one of the following:
Type:
Qname.Ask
where you want the question to appear (for example, if it appears in different sections of the script and different groups of respondents answer different sections)
Make it part of a repetitive statement as shown, for example Repeat while or until a condition is true.
See also
Repetitive actions in the routing section