Rabbit:
2) Domain aggregate functions don't have access to the Forms collection.
I'm not sure that's true (I may be wrong of course). I believe the error message indicates the specified form is either misspelled or simply not open at that point.
Point #3 is always a good idea anyway ;-)
I usually advise working out the criteria beforehand in a string variable anyway, as well as to use a template form of the criteria to start with and fill in the variable parts using
Replace(). That way it is much easier to see what you're doing.
In this case, the value of
Forms!sf_especificacoes!t_mgr_uppers=-1
can be worked out beforehand so it's unclear why you would think you needed to include it in the
DSum() call. Handling that sensibly stops all the confusion anyway it seems.