It would seem that a statement such as: TestVal = RecordSet.Fields("Data") will bind the variable to the column rather than just assigning the current value. Is this correct and if so how do I assign a value from a database? C'mon guys! I am trying to itterate through a recordset and compare the previous value to the current value, but my "Test" value updates to the current value when I move to a new record. I want to set my "Test" value change records then compare the test value to the new value. .....(drumroll) And the answer is... variable=RS.Fields("Data") binds the variable to the column. variable=RS.Fields("Data").value assigns the current value to the variable. actually a powerful tool, and now I have another problem! aaah the life of a coder!