Hi Trent,
I think the issue might be in the ValidateUpdate routine.
But I admit to being very confused -this login window seems very complicated.
Firstly, in my test, I noticed that even though you said "login failed" the user was in fact logged in. (at least the menu seemed to think so 'cause it changed to showing the logout button.)
So you have login code in ValidateRecord - but you also have login code in the ValidateLogin routine you've created.
But like I say, I'm struggling to follow your code so I'm really not sure what's happening where.
With regard to why it opens on the second tab -when it validates the tab it identifies which field is "not right" and then takes the user to that tab. So I suspect it's detecting the drop (somewhat correctly) as being the "not right" item, and hence going there.
As an aside, have you considered a simpler login approach? ie
a) normal login screen to verify login and password.
then take user to
b) "select database" screen. (or alternatively, if there's only 1 database show the database name, auto-click the button here, and move on...)
I think part of the problem here is because you're needing to do the validation twice.
Cheers
Bruce