Hi Samira,
Just curious, but why does it matter if they haven´t changed any fields? Just do the save action, probably less processing involved in that than the code to check for changes!
Otherwise use the Me.Dirty suggestion from above, this will be correct in all cases except if they change a field and then change it back to it´s original value, in which case Me.Dirty will be true even though the values have not changed, are the users likely to do this?
Failing that I think the only way to be absolutely sure to loop through all the controls comparing .Value to .OldValue. which is a bit tiresome!
I´ll see if I can think of an easier way..........