I have a login for my application, and they way I do it is I store all the usernames and passwords in a txt file, and at the start of my program, I load all the usernames into a string array, and all the passwords in another string array. That way anytime I need to do something with the usernames and passwords they're all right there to search through.

Code:
   
    strBats = App.Path & "\bats\"
    intFileNum = FreeFile
    intIndex = 0
        
    Open strBats & "users.sun" For Input As intFileNum
    Do While EOF(intFileNum) = False
        ReDim Preserve strUser(intIndex), strPassword(intIndex)
        Input #intFileNum, strUser(intIndex), strPassword(intIndex)
        intIndex = intIndex + 1
    Loop
    Close #intFileNum
Then when making changes (ie adding) to the users, you need only to make the change to the string arrays, then open the file for OUTPUT and write the arrays back in:

Code:
                            Open strBats & "users.sun" For Output As intFileNum
                            For intIndex2 = LBound(strUser()) To UBound(strUser())
                                Write #intFileNum, strUser(intIndex2), strPassword(intIndex2)
                            Next intIndex2
                            Close #intFileNum
The only issue with doing it this way is to work with the username and passwords together, the indexes of the two arrays must stay the same. The username stored in the 4th index corresponds to the password stored in the 4th index. Gotta be careful not to change them in your code.

Hope I could help!