It was too hard for me to do that. However, I have managed to work around it. I am going to try to explain in case it is useful for anyone else.
What I have discovered (and this may be obvious for some) is that each form has fields defined in the module and whether or not you use all the fields or not, Rose assumes that they are used. So if you define a form and then only display and allow some of its fields to be set, the form fields that you haven't used still exist and when you come to save the form, they are reset. This is what caused my problem. The workaround was to create a second module consisting only of the fields that I wished to use on this particular page (even though some of those fields are also used in another form module elsewhere). As all the fields are used and displayed, any fields in the database record that are not defined in the form module were just ignored and not reset.
I am interested to know if this is the right way to go about it or if there is a better way. For instance, a real-life requirement might be to have a form corresponding to a database record with a field 'imperialormetric'. If this field is set to 'metric', you want to set another field (in the form and database) called 'cm'. If it's set to 'imperial', you want to set another field called 'inches'. So in the form that is displayed to the user, when they select 'metric', you might want to only display the field 'cm' and when they select imperial, you would only want to display the field 'inches'. If you do this, then when 'metric' is selected, because the 'inches' field isn't displayed, upon submitting the form, any value in the inches field is lost.
One way to get around this is to display both 'inches' and 'cm' fields regardless - it doesn't hurt but isn't slick. Another way to get around it would be to have 2 completely separate form modules - with the same fields except one would not have the 'inches' field and the other would not have the 'cm' field. And then you would use a different module depending upon how 'imperialormetric' is set.
Anyway, I expect I don't fully understand what's happening behind the scenes but this is just my perspective for anyone scratching their head over the same issue in the future.