Scripted rollbacks
You can return to a particular save point from the interview script. Unlike routing with GoTo, this resets the interview to the state it was when the question for that save point was asked. You might want to do this if you have some statements that sum up various numeric answers throughout the script and test whether the total matches a fixed value. If the total is wrong you can go back to the questions that were summed to have the respondent reenter the answers.
To go back to a particular save point
For non-repeated questions:
IOM.SavePoints["Qname"].Go()
where Qname is the question whose save point you want to return to.
For repeated questions that are displayed as a grid:
IOM.SavePoints["LoopName"].Go()
For example:
IOM.SavePoints["RatingGrid"].Go()
When repeated questions are displayed one at a time as a loop, you can go back to the save point for a specific repetition of the loop by typing:
IOM.SavePoints["LoopName[{Iteration}]"].Go()
where Iteration is the appropriate value from the loop control list. For example, if the loop is defined as:
QualityLoop "" loop [1..3] fields
(
Quality "Thinking about the qualities that are important in a
sports coach, what do you think is the most/next most important
quality that person should have?" categorical [1..1]
{
Patience, Enthusiasm, Tact, Leadership,
LikesPeople "Gets on with most people",
Knowledge "Good knowledge of the sport and its rules",
Ability "Good at explaining things"
};
) expand;
you would type:
IOM.SavePoints["QualityLoop[3]"].Go()
to go back to the third repetition. If the loop is defined as:
NewsSection "NewsSection" loop
{
Editorial,
Rules "Rules Forum",
Health "Health and Nutrition",
Local "Local Round-up",
Coaching "Coaching Forum"
} fields (
FreqRead "How often do you read the {@NewsSection}
section of Your Sport magazine?" categorical [1..1]
{
AllTime "All the time",
Mostly "More often than not",
Sometimes, Never
};
) expand;
to go back to the repetition for the Local Round-up section.
See also