It looks like your loop is acting only on fields which are missing the field content, but the lookup isn't defined so we can see if the relationship is valid or returning a result. It is also possible the field types are mismatched, which might result in a question mark.
If the field to be filled in is one of the key fields used in the relationship, then the SetField will fail to return a value because the relationship returns no match.
But then, a question mark can result just because the field is too narrow on the layout to show the content if it is a date or number.
Thanks for getting back to me.
The layout I think is fine and both field types are set to 'number'. How would you recommend inserting 'an identifier' into a blank field in the Statements table on all of the records imported. I don't really want to go and add a column to each Excel file. I may have to go to bed soon- getting late in the UK and I have been going around in circles with this for most of this evening. All help gratefully received. Even if I delete the "missing field content" it still returns question marks in all the blank fields (i.e. acts exactly the same as before).