From: Bob H on
I found a password login system for Access and copied it to aon click
event on a form in Access 2007, but there is an error in the coding.

I have created a tblEmployees with the following fields:
IngEmpID
strEmpName
strEmpPassword
Then I put a unbound combo box on a form with the username and password
fields. The combo box gets a list from strEmpName in the tblEmployees

I then copied the code given into the on click event of the cmd button:
BUT there is a Compile error 'variable not defined' IngMyEmpID, as
shown below

'Check to see if data is entered into the UserName combo box

If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
MsgBox "You must enter a User Name.", vbOKOnly, "Required Data"
Me.cboEmployee.SetFocus
Exit Sub
End If

'Check to see if data is entered into the password box

If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "You must enter a Password.", vbOKOnly, "Required Data"
Me.txtPassword.SetFocus
Exit Sub
End If

'Check value of password in tblEmployees to see if this
'matches value chosen in combo box

If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
"[lngEmpID]=" & Me.cboEmployee.Value) Then

lngMyEmpID = Me.cboEmployee.Value <
BUT here there is a Compile error 'variable not defined' IngMyEmpID

'Close logon form and open splash screen

DoCmd.Close acForm, "frmLogon", acSaveNo
DoCmd.OpenForm "frmSplash_Screen"

Else
MsgBox "Password Invalid. Please Try Again", vbOKOnly, _
"Invalid Entry!"
Me.txtPassword.SetFocus
End If

'If User Enters incorrect password 3 times database will shutdown

intLogonAttempts = intLogonAttempts + 1
If intLogonAttempts > 3 Then
MsgBox "You do not have access to this database.Please contact
admin.", _
vbCritical, "Restricted Access!"
Application.Quit
End If

Thanks
From: Douglas J. Steele on
Have you declared lngMyEmpID in your code?

I.e. do you have the following statement anywhere?

Dim lngMyEmpID As Long

--
Doug Steele, Microsoft Access MVP
http://www.AccessMVP.com/djsteele
Co-author: "Access 2010 Solutions", published by Wiley
(no e-mails, please!)



"Bob H" <bob(a)despammer.com> wrote in message
news:fYKdnV2s1M4GOJbRnZ2dnUVZ8jydnZ2d(a)giganews.com...
>I found a password login system for Access and copied it to aon click event
>on a form in Access 2007, but there is an error in the coding.
>
> I have created a tblEmployees with the following fields:
> IngEmpID
> strEmpName
> strEmpPassword
> Then I put a unbound combo box on a form with the username and password
> fields. The combo box gets a list from strEmpName in the tblEmployees
>
> I then copied the code given into the on click event of the cmd button:
> BUT there is a Compile error 'variable not defined' IngMyEmpID, as shown
> below
>
> 'Check to see if data is entered into the UserName combo box
>
> If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
> MsgBox "You must enter a User Name.", vbOKOnly, "Required Data"
> Me.cboEmployee.SetFocus
> Exit Sub
> End If
>
> 'Check to see if data is entered into the password box
>
> If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
> MsgBox "You must enter a Password.", vbOKOnly, "Required Data"
> Me.txtPassword.SetFocus
> Exit Sub
> End If
>
> 'Check value of password in tblEmployees to see if this
> 'matches value chosen in combo box
>
> If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
> "[lngEmpID]=" & Me.cboEmployee.Value) Then
>
> lngMyEmpID = Me.cboEmployee.Value <
> BUT here there is a Compile error 'variable not defined' IngMyEmpID
>
> 'Close logon form and open splash screen
>
> DoCmd.Close acForm, "frmLogon", acSaveNo
> DoCmd.OpenForm "frmSplash_Screen"
>
> Else
> MsgBox "Password Invalid. Please Try Again", vbOKOnly, _
> "Invalid Entry!"
> Me.txtPassword.SetFocus
> End If
>
> 'If User Enters incorrect password 3 times database will shutdown
>
> intLogonAttempts = intLogonAttempts + 1
> If intLogonAttempts > 3 Then
> MsgBox "You do not have access to this database.Please contact
> admin.", _
> vbCritical, "Restricted Access!"
> Application.Quit
> End If
>
> Thanks

From: Bob H on
On 06/06/2010 14:48, Douglas J. Steele wrote:
> Have you declared lngMyEmpID in your code?
>
> I.e. do you have the following statement anywhere?
>
> Dim lngMyEmpID As Long
>
I didn't actually, thanks.

But now I get another Runtime error '2471':
The expression you entered as a query paramter produced this error:
IngMyEmpID

And when I debug, this is highlighted:

If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
"lngMyEmpID=" & Me.cboEmployee.Value) Then

Thanks
From: Bob H on
On 06/06/2010 16:32, Bob H wrote:
> On 06/06/2010 14:48, Douglas J. Steele wrote:
>> Have you declared lngMyEmpID in your code?
>>
>> I.e. do you have the following statement anywhere?
>>
>> Dim lngMyEmpID As Long
>>

Apologies, I missed out the square brackets, but the error is still the
same.

> I didn't actually, thanks.
>
> But now I get another Runtime error '2471':
> The expression you entered as a query paramter produced this error:
> IngMyEmpID
>
> And when I debug, this is highlighted:
>
> If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
> "[lngMyEmpID=]" & Me.cboEmployee.Value) Then
>
> Thanks

From: Bob H on
On 06/06/2010 17:21, Bob H wrote:
> On 06/06/2010 16:32, Bob H wrote:
>> On 06/06/2010 14:48, Douglas J. Steele wrote:
>>> Have you declared lngMyEmpID in your code?
>>>
>>> I.e. do you have the following statement anywhere?
>>>
>>> Dim lngMyEmpID As Long
>>>
>
> Apologies, I missed out the square brackets, but the error is still the
> same.
>
>> I didn't actually, thanks.
>>
>> But now I get another Runtime error '2471':
>> The expression you entered as a query paramter produced this error:
>> IngMyEmpID
>>
>> And when I debug, this is highlighted:
>>
>> If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
>> "[lngMyEmpID=]" & Me.cboEmployee.Value) Then
>>
>> Thanks
>

I have just found that I need to create a module and put this line in it

Public lngMyEmpID As Long

So when that is done how does it link to the form or button.

Thanks