473,394 Members | 1,671 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Help with For...Next Loop and Other Questions

JodiPhillips
Hello All,

I'm trying to limit the number of attempts a user has to log into an MS Access 2003 database, but am having very little success.

My current code for log in is as follows (and thanks to all previous posters whose ideas and code I have taken from these forums to get me this far!!)

UserId comes in from a combo box also on the same form, the focus is then shifted to the password textbox for password entry and then the user clicks on the command button below.

Expand|Select|Wrap|Line Numbers
  1. Private Sub cmdLogOn_Click()
  2. Dim sPswd As String
  3.  
  4.  
  5.         If IsNull(Me!cboUserID) = True Or IsNull(Me!txtPass) = True Then
  6.             MsgBox "please enter a valid userid and password"
  7.             Exit Sub
  8.         End If
  9.  
  10.         sPswd = Nz(DLookup("txtpword", "tblLogIn", "txtUserID='" & Me!cboUserID & " ' "), "")
  11.         Debug.Print sPswd
  12.  
  13.         If Me!txtPass <> sPswd Then
  14.             MsgBox "Invalid UserID/Password", vbOKOnly, "Try Again"
  15.             Exit Sub
  16.         End If
  17.  
  18.  
  19. DoCmd.Close acForm, "frmLogOn", acSaveNo
  20. DoCmd.OpenForm ("Start Form CL&D")
  21.  
  22. End Sub
I'm not sure where to put the For statement. I have tried at various points but end up with a lost Next statement, or the users have no limits to the number of attempts.

My tentative For code is as follows:

Expand|Select|Wrap|Line Numbers
  1. Dim intAttempts as integer
  2.  
  3. For intAttempts = 0 to 3 Step 1
  4. Next intAttempts
  5.  
  6. If intAttempts > 3 Then
  7. MsgBox "You do not have authority to access this database. Contact your support team",vbcritical,"Restricted Access!"
  8. Application.Quit
  9. End If
  10.  
Can anyone point me in the right direction on where the various For...Nexts should go, or if I am missing something from the code or using the wrong type of loop? Any help with this will be much appreciated. I've read through the help files within access on the loops and its still not clear to me.

Also, I want to AllowBypasskey = False in a procedure(? if that is the correct thing to call it) so that users cannot just Shift-Click into the database - I have a splash set up that is in pop up mode on start up and I want users to move through pages and forms in a specific direction. To disable the bypass do I have to do a create procedure before I can change it? And do I do this as a new module?

Another thing I would like to do is if the database is opened in anyway by anyone or attempt to open I would like to send an email to myself as soon as it is accessed. I can't set a password on the database for a number of reasons, but would like an audit trail of when the database is opened not just logged into. Is this doable? If so, could anyone point me in the how to direction so that I can research it. I don't know where to start looking for info on this one.

Last question - yes I know I'm being greedy, but this should be enough to keep me to browsing for the next six months I promise *wink*,

I want to run a query off the value in txtpass (as above) but if I put [Forms!].[frmLogOn!].[txtpass].[Afterupdate] into the criteria line for the query it gives me a parameter box to complete. Is there a way to specify the value thats entered at login (during the execution of the code above) directly into the query without the user having to reenter their userid? The query basically just runs off and grabs records from a table for their team members.

Many thanks =)

Jodi
May 28 '07 #1
3 2185
nico5038
3,080 Expert 2GB
You don't need various for next loops.

Just define before all sub's in the form's code your login counter like:

Expand|Select|Wrap|Line Numbers
  1. dim intLogins as Integer
  2.  
  3. ' Now in the login code use
  4.  
  5. sub Login()
  6.  
  7. intLogins = intLogins + 1
  8.  
  9. IF intLogins > 3 then 
  10.     msgbox "No more logins"
  11.     docmd.quit
  12. endif
  13.  
  14. ' herethe other code for testing
  15.  
  16. end sub
  17.  
Getting the idea ?

Nic;o)
May 28 '07 #2
Nic,

That did the trick, just copied the sub that you provided and called it from within the logon sub.

Many many thanks!

Jodi
May 29 '07 #3
nico5038
3,080 Expert 2GB
Glad I could help, success with your application !

Nic;o)
May 29 '07 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

2
by: Prasanna | last post by:
Hi All Nice to be in this Forum. I have questions to ask on UTL_FILE :roll: Let me explain the concept 1.When the net is down the user will take the records into on floppy(CLIENT 2.When the net...
9
by: kwindham | last post by:
This program doesn't seem like it should be too hard, but I cannot figure it out. Here is the assignment: Password Verifier - Write a program to verify passwords, satisfying the following...
22
by: KitKat | last post by:
I need to get this to go to each folders: Cam 1, Cam 2, Cam 4, Cam 6, Cam 7, and Cam 8. Well it does that but it also needs to change the file name to the same folder where the file is being...
6
by: JOSII | last post by:
Getting a string of boolean value into and out of the registry is no problem. Here's the problem: Although you can place an object into the registry and retreive it, I need to place an ArrayList...
15
by: Jay | last post by:
I have a multi threaded VB.NET application (4 threads) that I use to send text messages to many, many employees via system.timer at a 5 second interval. Basically, I look in a SQL table (queue) to...
0
by: gunimpi | last post by:
http://www.vbforums.com/showthread.php?p=2745431#post2745431 ******************************************************** VB6 OR VBA & Webbrowser DOM Tiny $50 Mini Project Programmer help wanted...
6
by: portCo | last post by:
Hello there, I am creating a vb application which is some like like a questionare. Application read a text file which contains many questions and display one question and the input is needed...
2
ADezii
by: ADezii | last post by:
If you are executing a code segment for a fixed number of iterations, always use a For...Next Loop instead of a Do...Loop, since it is significantly faster. Each pass through a Do...Loop that...
32
by: =?Utf-8?B?U2l2?= | last post by:
I have a form that I programmatically generate some check boxes and labels on. Later on when I want to draw the form with different data I want to clear the previously created items and then put...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.