Link to home
Start Free TrialLog in
Avatar of DWB
DWB

asked on

Password mask **********

Access 97

Is there a way to change the following code so that when the user is prompted to enter a password, the typed entry does not show in clear, but rather as a typical password format?

Example:  

Current entry: “PASSWORD”
Desired entry: “********”

********** Code Starts **********

Private Sub Form_Open(Cancel As Integer)
Dim strPassword As String

strPassword = InputBox("This form is password-protected. Please enter the correct password below to access the form.", "Password Required")

If strPassword <> "PlacePasswordHere" Then
   MsgBox "That is an incorrect password: access has been denied.", vbInformation, "Access Denied"
   DoCmd.Quit acExit

End If

End Sub

********** Code Ends **********
Avatar of tomk120999
tomk120999

DWB, I think that there is a data type 'Password', which does just what you're looking for.  I'm at anothe computer right now, do I don't have access to Access.  Check it out in your on-line help.  If memory serves it is:
Dim strPassword as Password, but it's been a while.

good luck as usual...
There is no password data type.  Password property is for setting up a new password for user.

However there is a password input mask which does exactly what you want.

Click the field's Data tab > Input Mask > elipse > Password.

Whatever you type will show as a password (* instead of character) but the value will be what you typed in.

If the field is a bound field from a table, then put the input mask in the table to prevent anyone from seeing it.  If it is in code, put the input mask in the form.  I'd advise encrypting your DB so no one can see the password by debugging the DB.

Jim

Thanks, Jim, couldn't remember!

good luck as usual...
Tom:  Don't want to give up all my secrets but when you don't remember, look it up!  Remember the Navy - No excuses, Sir! - ?
Avatar of DWB

ASKER

I tried but didn’t get very far, please have a look at the actual code below. I’ll change the password later regardless; I was unable to get the format correct.

'************************************
' PASSWORD
'--------------------------------------------------------------
' Prompt's the user for a password when they open the
' Main Menu form . If the correct password is entered, the
' form is opened. If Not Close and Exit the database.
'--------------------------------------------------------------

Private Sub Form_Open(Cancel As Integer)
Dim strPassword As String
strPassword = Format("*")   ' Returns "*******".

strPassword = InputBox("Well Woman's Clinic is password-protected. Please enter the correct password below to access this database.", "Password Required")

If strPassword <> "WWC246m" Then
   MsgBox "That is an incorrect password: access has been denied.", vbInformation, "Access Denied"
   DoCmd.Quit acExit

End If

End Sub
That is not what you want to do.  It will not work like that.

Before you open the main form, you should open a GetPassword Form which verifies that you have the correct password and then open the main form.

Create one unbound box and make that the password box.  That is the only box that you have on the form.

Set the box's Input Mask to Password.

In the After Update event put the code that checks the password.  Even though the user sees only *********, the value is the password entered.

If the password is correct then open the main form and close this one.

There are a lot more things to do to make this security proof but for now lets get that working.

In the meantime, you can hide both the password and the main form so no one can easily see them in the database and decide to open them.

Jim
Avatar of DWB

ASKER

I’m shutting down for the night, I just managed to screw up my database (copy only – learned that trick the hard way a while back).

I can’t get this one together with the code I have, so I tried to implement some different code and, well as they say the rest is history. I have no problem creating the form and the password formatted text box, but the rest, just isn’t in the cards.

Could you perhaps send a small sample database and/or a complete example of some kind, it would be greatly appreciated. I’ll provide you with all my points if you like, and I’ll struggle through until I gain more :--)

If you feel uncomfortable with that, not a problem, you’ve already provided a great deal of help.

I’ll check back in the morning, just prior to my wife screaming that I spend too much time on the computer.


Regards,

Dave
dbrydon@webhart.net


ASKER CERTIFIED SOLUTION
Avatar of JimMorgan
JimMorgan

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of DWB

ASKER

To be a King is great,
To serve thy king is greater,
To receive rewards and riches by thy king,
is beyond one’s riches dreams.

I am at your beckon call, Sir!

Or simply put: You’re the Greatest!

A hearty Bravo-Zulu
------
Tell me a hundred times and I may begin to learn.
Show me once and I’ll never forget.

A picture is truly worth a thousand words.

I truly appreciate your effort, Thank-you!

Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for life.

OJT - one of the best teachers in the world.

What is a 'beckon call'?  Is that the signal for Batman?  :-)

For those who don't know what the heck went on, I sent DWB a sample DB that had one form to enter the password.  If the password was correct, the form closed itself and opened the main form.  If not, it complained and then asked you to try again.

Jim