Since you're running v2003, in deciding how to approach this, you need to be aware that Public (global) variables are reset (i.e. 'zeroed out') if an Unhandled Error occurs anywhere in the app!
In later versions (2007 forward) something called TempVars was introduced, which eliminated this problem.
If losing this bit of data won't cause any critical damage, by all means use a Public (Global) Variable, but if it is important, in v2003 you would probably be safer using orange's suggested approach of leaving the logon Form open, but hidden, and referencing the appropriate Control(s).
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007