How to Add Simple User-Level Security to Microsoft Access Databases

Sdílet
Vložit
  • čas přidán 3. 05. 2023
  • In this Microsoft Access tutorial I will teach you how to add simple user-level security to your databases. We will create a user table and give each user a logon name and password.
    Disclaimer: This tutorial will show you security that is "good enough" to keep most users out of your database. However an experienced Access developer will be able to bypass this logon routine. To learn the best possible way to secure your database I recommend my Microsoft Access Security Seminar. 599cd.com/Security
    BECOME A MEMBER:
    CZcams: / @599cd
    or My Site: 599cd.com/THMember
    LEARN MORE:
    599cd.com/UserLevelSecurity
    PREREQUISITES:
    Intro to VBA: 599cd.com/IntroVBA
    Modal & Popup: 599cd.com/ModalPopup
    DLookup: 599cd.com/DLookup
    NZ Function: 599cd.com/NZ
    If Then: 599cd.com/IfThen
    MsgBox: 599cd.com/MsgBox
    Simple Security: 599cd.com/SimpleSecurity
    LINKS:
    Input Mask: 599cd.com/InputMask
    Double Double Quotes: 599cd.com/DoubleDouble
    Track Log On: 599cd.com/TrackLogon
    Database Password: 599cd.com/DatabasePassword
    RECOMMENDED COURSES:
    Access Security Seminar: 599cd.com/Security
    Access SQL Server Online: 599cd.com/SQLOnline
    NEXT VIDEO:
    User Level Security Part 2: 599cd.com/UserLevelSecurity2
    FREE TEMPLATE DOWNLOADS:
    TechHelp Free Templates: 599cd.com/THFree
    Blank Template: 599cd.com/Blank
    Contact Management: 599cd.com/Contacts
    Order Entry & Invoicing: 599cd.com/Invoicing
    More Access Templates: 599cd.com/AccessTemplates
    ADDITIONAL RESOURCES:
    FREE Access Beginner Level 1: 599cd.com/Free1
    How to Use Access in 30 Minutes: 599cd.com/30Minutes
    $1 Access Level 2: 599cd.com/1Dollar
    Donate to my Tip Jar: 599cd.com/TipJar
    Get on my Mailing List: 599cd.com/YTML
    Contact Me: 599cd.com/Contact
    TechHelp: 599cd.com/TechHelp
    Consulting Help: 599cd.com/DevNet
    Twitter: / learningaccess
    en.wikipedia.org/wiki/Microso...
    products.office.com/en-us/access
    microsoft.com/en-us/microsoft...
    KEYWORDS:
    access 2016, access 2019, access 2021, access 365, microsoft access, ms access, ms access tutorial, #msaccess, #microsoftaccess, #help, #howto, #tutorial, #learn, #lesson, #training, #database, How do I set up security, What happened to user-level security, securing a Microsoft Access database, How To Manage User Permissions In Access Database, user table, usert, username, password
    QUESTIONS:
    Please feel free to post your questions or comments below. Thanks.

Komentáře • 54

  • @shahramahmadzadeh5285
    @shahramahmadzadeh5285 Před rokem +5

    Hello Mr. Rost. I just wanted to say a big thank you to you for presenting this topic.
    I have been waiting for this presentation for a long time.
    I consider you my teacher, because I have learned a lot from you.
    Unfortunately, I live in Iran and because of the embargo, I cannot buy your courses.
    Once again, thank you for all your kindness and cares.

    • @599CD
      @599CD  Před rokem +1

      You're very welcome

  • @thomascole8216
    @thomascole8216 Před 9 měsíci +2

    Pure Gold! Great Instructor, easy to follow. Everytime I watch I learn another nugget I didnt know. Thank You

    • @599CD
      @599CD  Před 9 měsíci

      Glad to help

  • @meowmadecrafts
    @meowmadecrafts Před rokem

    I was literally about to implement something similar today! Thank you for sharing!

  • @RichardNickyBrian
    @RichardNickyBrian Před rokem

    Thanks for this one too..
    God bless your efforts.
    Mr. Richard, live long and prosper. ❤🎉

  • @Dragon-vv2ew
    @Dragon-vv2ew Před rokem

    Hi Richard, your videos are always interesting, every time I see your videos I always learn some little properties to add to my little databases. Thanks again to you and your team! I'm sorry I don't know English but with subtitles you can understand perfectly.Many greetings from Italy!
    Ciao Richard, sempre interessanti i tuoi video, ogni volta che vedo i tuoi video imparo sempre qualche piccola proprietà da aggiungere ai miei database. Grazie ancora a te al tuo team! Mi dispiace non sapere l'inglese ma con i sottotitoli si riesce a capire perfettamente. Tanti saluti dall'Italia

    • @599CD
      @599CD  Před rokem

      You're very welcome

  • @muraterkan8521
    @muraterkan8521 Před rokem

    thank Richard. it very very useful and clean instructions.. as always

    • @599CD
      @599CD  Před rokem

      You're welcome

  • @ADITYA_SINGH1
    @ADITYA_SINGH1 Před rokem

    thanks for considering the request sir cant wait for part 3😃

  • @Airfo2248
    @Airfo2248 Před 2 měsíci +1

    Love it! Just what I needed!!

    • @599CD
      @599CD  Před 2 měsíci

      Glad I could help!

  • @petewarby7158
    @petewarby7158 Před 11 měsíci

    AWESOME!!!!!!!

  • @onpassive2441
    @onpassive2441 Před 8 měsíci

    You are a great trainer. I enjoy your lessons. I wish my English was better so I could join the group

    • @599CD
      @599CD  Před 8 měsíci

      Thank you! 😃

  • @rhodnill5906
    @rhodnill5906 Před rokem

    I did this thing to my project, but to make it more secure, I hashed(encrypt) the password and the Username so that "if" someone can bypass my database and get accessed to the UserT, the password and Username field is hashed or encrypt. I did the Hash password twice, there's a Level 1 Hash then Level 2 Hash.
    Its like Password ⏩ Level 1 Hash ⏩ and the Level 1 Hash, Hash it again to Level 2 Hash and store it to the Password field in the UserT. just to make it secure. I also hashed the Username so that the bypasser have no Idea what is going on. 🤣🤣 But, thank you, my VBA code is more like a ancient text to read, so difficult to understand and it has more than 20 lines of code, unlike to your VBA Code is straightforward and easy to understand. 🤗😍 Can't wait for the Part 2 and 3. 🔥🥰

    • @599CD
      @599CD  Před rokem

      Yeah, I do something similar with sensitive data: 599cd.com/Encrypt

  • @UltraStarWarsFanatic
    @UltraStarWarsFanatic Před rokem

    Richard, can you tie these accounts to the ability to enter design view/etc.? In the sense of having an account for developers, and another account for end users?

  • @danielantoyma4152
    @danielantoyma4152 Před 4 měsíci

    Hi Richard, thanks for your videos. I'm trying to find some info about SSO with Access. Would you know if it's possible? Thanks

  • @andinascrocroandinas9352
    @andinascrocroandinas9352 Před 5 měsíci

    Hi Mr. Rost. One question.
    the code correct is that:
    If IsNull(TempVars("Username")) Then TempVars("Username") = "Nobody"
    MainMenuLbl.Caption = TempVars("Username")
    but if I have the second label that I want use in the same form, I just copy code? like that:
    example
    If IsNull(TempVars("Job")) Then TempVars("Job") = "Nobody"
    JobLbl.Caption = TempVars("Job")
    thanks

  • @rbe6963
    @rbe6963 Před 3 měsíci

    Would it be a waste to pull, with an open recordset in vba, the record for the user and check for the id and password?

  • @dolittlediehard1670
    @dolittlediehard1670 Před rokem +2

    Very good, love it but it would be better if users could set their own passwords and if the admin got an alert for 3 failed attempts.

    • @599CD
      @599CD  Před rokem +1

      Sure... feel free to add all that if you want

  • @vic902
    @vic902 Před 4 měsíci

    Can multiple users still access the database if they all have the same login username and password?

  • @thunderkai430
    @thunderkai430 Před rokem

    Hello Mr Rost. Thank you so much for the tutorial. I want to ask that how do I add a "Hello" before the TempVars("Username")? Like I want to show "Hello XXX" in the main menu caption. Thank you.

    • @austinmyers106
      @austinmyers106 Před rokem +1

      you could do something like this
      MainMenuLabel.Caption = "Hello" & " " & TempVars("Username")
      still learning access, but i think that would work

  • @hosseinpeyvandi3992
    @hosseinpeyvandi3992 Před 5 měsíci

    Nice and clean as always but how can i find part2??

    • @599CD
      @599CD  Před 5 měsíci

      Links in the description under the video

  • @willmiranda9710
    @willmiranda9710 Před 6 měsíci

    Is there a way to create a message box that pops up when your mouse hovers of any label providing the details of the information require for that field.

    • @599CD
      @599CD  Před 6 měsíci

      599cd.com/ControlTipText

  • @MichaelEaton-sd5wk
    @MichaelEaton-sd5wk Před 7 měsíci +1

    Hi, how do we handle the password field being blank, It seems that the user can login with no password and I don't want that

    • @599CD
      @599CD  Před 7 měsíci +1

      Yeah, that's something I really didn't think about when I was recording the video. I just assumed that everyone would know that you need to check for a blank password. Just throw an IsNull in there somewhere. 599cd.com/IsNull. Remember, these videos are more about giving you ideas and showing you what's possible. These are not meant to be finished, complete solutions. If you want a much more detailed and comprehensive security system for your database, check out my security seminar at 599cd.com/SecuritySeminar

  • @luisdacunhalima734
    @luisdacunhalima734 Před rokem

    Hi. Great tips. Just one thing is not clear for me: My password is not Case Sensitive. Could we do that?
    Thanks

    • @599CD
      @599CD  Před rokem +1

      Lots of people have brought this to my attention. I'll be mentioning it in Part 4.

  • @AmayPlays
    @AmayPlays Před 11 měsíci

    Hi when I put no password it is letting me in only with valid username

  • @professional7330
    @professional7330 Před rokem

  • @abaurre3
    @abaurre3 Před 7 měsíci

    I would like to implement this so I can do two things:
    1- Open diferent forms or dashboards according to different users;
    2- Use this user ID globally to register table changes and operations, by user.
    Is it possible to carry on this "UserID" throughout other functions and subs, including private subs?

    • @599CD
      @599CD  Před 7 měsíci

      Absolutely it is. 599cd.com/SecuritySeminar

  • @jamesrakestraw7125
    @jamesrakestraw7125 Před 10 měsíci

    Hello. You make the Login. Do you need to make a Login log to?

    • @599CD
      @599CD  Před 10 měsíci

      Sure

    • @599CD
      @599CD  Před 10 měsíci

      599cd.com/TrackLogon

  • @jtjones1294
    @jtjones1294 Před rokem +3

    There's an issue if you have a correct user but blank password it will let you logon. I fixed the code by adding an or IsNull(Password) to the password if statement 13:35

    • @599CD
      @599CD  Před rokem

      Yeah - lots of people have brought this to my attention. I'll be mentioning it in Part 4.

    • @johnpescatore7529
      @johnpescatore7529 Před měsícem +1

      Thanks for the correction ... it was driving me crazy !

  • @onpassive2441
    @onpassive2441 Před 8 měsíci

    If possible, activate translation so that we can benefit from your channel more.

    • @599CD
      @599CD  Před 8 měsíci

      That's a CZcams feature in the settings you can set whatever language you like

  • @kunashemupfeka939
    @kunashemupfeka939 Před 5 měsíci

    After inputting all the code into the build even it keeps on saying user not found

    • @599CD
      @599CD  Před 5 měsíci

      Well that sucks

  • @Pyar_Sab_K_Lyea
    @Pyar_Sab_K_Lyea Před rokem

    I have 2 fields in UserT table (1 is username) and (2 is Person Name) and I want to show Person Name in Main Menu Label using tempvar("PName") but error occured Invalid Qualifier. HOw to resolve it