AFAIK, there is no difference between what's returned for the Text or Value
properties. (plus, to refer to the Text property, the control must have
focus). Value is actually the default property, so it's not really necessary
to include it.
Rather than the If construct you're using, you could use the Nz function,
which is designed specifically for that requirement.
Try something like:
sData = Nz(Me.MyControl.Value, "") or sData = Nz(Me.MyControl, "")
for string values, or
iData = Nz(Me.MyControl.Value, 0) or iData = Nz(Me.MyControl, 0)

Signature
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)
> Using Office 2003 and Windows XP;
>
[quoted text clipped - 22 lines]
> and/or
> discussion/advice on this.
XP - 02 Mar 2007 15:08 GMT
Thanks much Douglas; I will use NZ from now on; much better than my method.
How about if a control is either hidden or locked?
Can you suggest any shortcuts on returning data from controls in either of
those states? Controls must receive focus to unhide/unlock before data can be
retrieved from them, right?
> AFAIK, there is no difference between what's returned for the Text or Value
> properties. (plus, to refer to the Text property, the control must have
[quoted text clipped - 38 lines]
> > and/or
> > discussion/advice on this.
Douglas J. Steele - 02 Mar 2007 16:31 GMT
Nope. No difference referring to them if hidden or locked.

Signature
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)
> Thanks much Douglas; I will use NZ from now on; much better than my
> method.
[quoted text clipped - 52 lines]
>> > and/or
>> > discussion/advice on this.