Didn't I see this elsewhere?
This actually goes back into the time before Visual Basic, before QuickBasic 4.5/QBasic, when everything had to have a declared data type! As the OP noted, using subtraction/division/multiplication works without a problem, without the datatype be declared thru formatting or assigning of a datatype. That's because these operations can only be performed on numeric data types! But use of the plus sign can be taken either as addition (if a numeric data type is involved) or as concatenation (if a text data type is involved) and so Access needs guidance. Left alone, it does, indeed, assume that a textbox contains text! So, in order to an unbound controls to actually be added, you have to, in some manner, left Access know what type of data they are. You can use Val(), as suggested above, or CInt() as suggested elsewhere, or format the textbox as a number. But you have to give Access a clue as to what kind of data it's dealing with!