In general Subroutines do not return values, only functions. However, the value of a public variable can be changed within a sub. I have read that Access Subs cannot return values but I wonder if the above method works. I have a variable declared at the very top of the form code page (not a module) and in 5 different BeforeUpdate events for 5 different controls I recalcualte the total of the values of these 5 controls, trying to verify that by the time the input is completed that at least ONE of them has a value...but the total value does not come out and display on the form...only if i put = val(controll1) + val(control2) + ..... does it display....is this because truly you can't change the value of dblValue inside subs and have the value be retained etc.