I've had that problem also.
Once you open the recordet and set the index, forece the move to the first record.
i "think" this initializes the index on the recordset. usually works for me. Once the index is set, you don't have to set it again, which looks like what would be happening in your code.
rstTemp.open " open string etc...."
Do this outside of your seek function
If not .EOF then Display Fields