Password Form

K

Karen53

Hi,

I'm not sure I can do this. I've been unable to figure out how, but I have
created a password form. I need to use this form to unlock specific cells
and run code depending on the password being correct. I am successful if
there is only one routine the password form is unlocking. I need a value of
true or false to be pulled into multiple routines. I'm thinking a function
but I can't figure out how to achieve it. I'm hung up on where do I go with
cmdOK?

Function GoodPassword(GoodPswd) As Boolean

Dim HasPswd As String

frmPassword.Show

HasPswd = frmPassword.txtGetPswd

Unload frmPassword

GoodPswd = False

If HasPswd = "" Then
GoodPswd = False
Else
If HasPswd = MyPassword Then
GoodPswd = True
End If
End If

End Function
 
J

james.billy

Hi,

I'm not sure I can do this. I've been unable to figure out how, but I have
created a password form. I need to use this form to unlock specific cells
and run code depending on the password being correct. I am successful if
there is only one routine the password form is unlocking. I need a value of
true or false to be pulled into multiple routines. I'm thinking a function
but I can't figure out how to achieve it. I'm hung up on where do I go with
cmdOK?

Function GoodPassword(GoodPswd) As Boolean

Dim HasPswd As String

frmPassword.Show

HasPswd = frmPassword.txtGetPswd

Unload frmPassword

GoodPswd = False

If HasPswd = "" Then
GoodPswd = False
Else
If HasPswd = MyPassword Then
GoodPswd = True
End If
End If

End Function

Hi Karen,

Could you not have a sub routine that shows your form, then when a
user enters the password and clicks ok use the on click event of the
command button to test the password, if its correct then close the
form and run all the other code, if its not then close the form and do
nothing? If you need to run multiple routines then run multiple sub
routines when the user clicks ok. You could then just put Option
Private Module at the top of your normal sub procedures so that the
user cant see them and therefore cant run them without first entering
the password.

James
 
D

Dave Peterson

Is the password like a master password--the user enters it once and then they
can access all the routines (well, if they entered it correctly)?

If yes, I'd create a public variable in a General module:

Option Explicit
Public PassWordIsOk as Boolean
Sub firstroutinehere()

passwordisok = goodpassword("mypasswordhere")

'then before you do anything important

if passwordisok = false then
msgbox "Nope!"
else
'do the work
end if
End Sub

Sub SecondRoutineHere()

if passwordisok = false then
msgbox "Nope!"
else
'do the work
end if

End Sub
 
K

Karen53

Hi,

Thank you both for your help. I don't seem to be able to get my head around
this. I finally solved the issue by using a form label and assigning a value
to it when I called the password form. I then used the label value as my
"Traffic Cop" to route back to the appropriate routine.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top