Manchmal ist es möglich, sollten Sie zurücksetzen oder das Kennwort eines Benutzers ohne Verwendung der Benutzeroberfläche ändern. Dieser Artikel beschreibt mehrere Beispiel Funktionen, die Sie zum Ausführen dieser Aufgabe verwenden können.
Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.
Zurücksetzen oder Ändern eines Benutzerkennworts bei Kennwort vergessene worden ist
Die folgende Beispielfunktion ermöglicht einem Benutzer zurücksetzen oder das Kennwort eines anderen Benutzers ändern, wenn das Kennwort wurde vergessen hat.
Da es nicht ratsam, alle Benutzer zurücksetzen oder Ändern von Kennwörtern anderer ist, erfordert die Funktion an, dass der Benutzername und Kennwort eines Benutzers mit Administratorrechten (Mitglied der Gruppe "Administratoren" beispielsweise ") für die Funktion um seine Arbeit abzuschließen übergeben werden.
Gehen Sie folgendermaßen vor zum Erstellen dieses Beispiels:
Öffnen Sie Ihre Datenbank in Microsoft Access 2000.
Klicken Sie im Datenbankfenster klicken Sie unter Objekte auf Module , und klicken Sie auf neu .
Geben oder fügen Sie den folgenden Code in das neue Modul:
Public Sub ChangeResetPassword(StrAction As String, StrUsername As _
String, StrAdminLogon As String, StrAdminPass As String, Optional _
StrNewPassword As Variant)
Dim ws As Workspace
On Error GoTo ChangeResetPassword:
' Create a new Administrative Workspace. If The StrAction passed to the
' function is "Change" then change the Password of the User named in
' StrUsername to the password saved in StrNewPassword.
' If the StrAction passed is "Reset", Then reset the password of
' the User mentioned in StrUsername. If neither "Change" or "Reset"
' is passed to the function in the StrAction argument, inform the
' user of an error and exit the procedure.
Set ws = DBEngine.CreateWorkspace("AdminWorkspace", StrAdminLogon, _
StrAdminPass)
If StrAction = "change" Then
If Not IsNull(StrNewPassword) Then
ws.Users(StrUsername).NewPassword "", StrNewPassword
MsgBox "Password Change Successful", vbOKOnly
Else
MsgBox "When Attempting to Change A User's Password, You " & _
"Must Include a New Password", vbOKOnly
End If
ElseIf StrAction = "reset" Then
'When the current user is in the admins group and reseting
'his/her own password, the current password must be supplied.
'In all other cases, the current user password is not needed
'for a reset.
If StrUsername = ws.UserName And StrAdminLogon = ws.UserName Then
ws.Users(StrUsername).NewPassword StrAdminPass, ""
MsgBox "Password Successfully Reset", vbOKOnly
Else
ws.Users(StrUsername).NewPassword "", ""
MsgBox "Password Successfully Reset", vbOKOnly
End If
Else
MsgBox "You must Select a StrAction of either '" & "Change'" & _
"' or '" & "Reset'.", vbOKOnly
End If
ws.Close
Set ws = Nothing
Exit Sub
ChangeResetPassword:
MsgBox Err.Description
End Sub
Speichern Sie das Modul als SecurityCode und schließen Sie es.
Durch einen Benutzer zum Ändern seines oder Ihres '' Besitzer Kennwort
Die nächste Beispielfunktion ermöglicht einem Benutzer seine ändern ein eigenes (und nur sein eigenes) Kennwort. Die Funktion ordnungsgemäß ausgeführt werden müssen Sie entweder der Benutzername, altes Kennwort und Kennwort des Benutzers übergeben werden.
Gehen Sie folgendermaßen vor zum Erstellen dieses Beispiels:
Öffnen Sie die Datenbank in Microsoft Access.
Klicken Sie im Datenbankfenster klicken Sie unter Objekte auf Module und wählen Sie das SecurityCode-Modul, das Sie im Abschnitt "Zurücksetzen oder Ändern eines Benutzerkennworts bei Kennwort vergessene worden ist" erstellt haben.
Klicken Sie auf Design , und geben oder fügen Sie den folgenden Code:
Public Sub ChangeUserPassword(StrUsername As String, StrOldPassword _
As String, StrNewPassword As String)
On Error GoTo ChangeUserPassword_Err:
DBEngine(0).Users(StrUsername).NewPassword StrOldPassword, _
StrNewPassword
MsgBox "Password Change Successful", vbInformation
Exit Sub
ChangeUserPassword_Err:
MsgBox Err.Description
End Sub
Speichern Sie das Modul und schließen Sie es.
Verwendungsbeispiel
Die folgenden Beispielformular und zugeordnete Code verwendet beide Funktionen, dass Sie in der Artikel, um deren Funktionalität zu demonstrieren erstellt. Das Formular enthält Textfelder, die mit entsprechenden Informationen ausgefüllt werden müssen, die auf die Beispielfunktionen und Befehlsschaltflächen zum Ausführen der Funktionen selbst eingezogen werden.
Das Formular ermöglicht Benutzern das:
- Change their own password.
das Formular ermöglicht Administratoren:
- Reset a user's password.
- Change a user's password.
um das Formular zu erstellen, gehen Sie folgendermaßen vor:
Erstellen Sie ein neues leeres Formular und speichern Sie es als FrmChangePasswords.
Das Formular FrmChangePasswords in der Entwurfsansicht geöffnet ist fügen Sie folgenden Textfeld, Bezeichnung und Befehl Button-Steuerelemente. Jedes Etikett ein bestimmtes Textfeld zugeordnet ist und in der Nähe der Text im Formular platziert werden sollte.
Klicken Sie mit dem in der Entwurfsansicht im Menü Ansicht geöffnet FrmTestPassword Formular auf Code , und geben die folgende Zeile in das Formularmodul Deklarationsbereich Wenn es nicht bereits vorhanden ist:
Option Explicit
Geben oder fügen Sie den folgenden Code im Modul Formulars:
Private Sub CmdChange_Click()
On Error GoTo CmdChange_err
' Make sure the password typed in the New Password text box
' matches what has been typed in the Verify Password text box.
If Me!txtNewPassword <> Me!txtVerifyPassword Then
MsgBox "The New and Verified Passwords Do Not Match. " & _
"Please Re-enter", vbCritical
Me!txtNewPassword = ""
Me!txtNewVerifyPassword = ""
Me!txtNewPassword.SetFocus
Else
' Check to make sure the Old Password has been filled in and
' if it has, change the password.
If IsNull(Me!txtOldPassword) Then
MsgBox "Leaving the Old Password textbox empty will cause " & _
"an error unless you currently have no password", vbOKOnly
Call ChangeUserPassword(CurrentUser(), "", Me!txtNewPassword)
Else
Call ChangeUserPassword(CurrentUser(), Me!txtOldPassword, _
Me!txtNewPassword)
End If
End If
Exit Sub
CmdChange_err:
MsgBox Err.Description
End Sub
Private Sub cmdChangeAdmin_Click()
On Error GoTo CmdChangeAdmin_err
' Test to make sure appropriate text boxes are filled in because this
' is an administrative function.
If Not IsNull(Me!txtAdminPassword) And Not _
isNull(Me!txtAdminUsername) And Not IsNull(Me!txtUserName) Then
If Me!txtNewPassword <> Me!txtVerifyPassword Then
MsgBox "The New and Verified Passwords Do Not Match. Please" & _
" Re-enter", vbCritical
Me!txtNewPassword = ""
Me!txtNewVerifyPassword = ""
Me!txtNewPassword.SetFocus
Else
Call ChangeResetPassword("Change",Me!txtUserName, _
me!txtAdminUsername, me!txtAdminPassword, Me!txtNewPassword)
End If
Else
MsgBox "The textboxes for UserName, New Password, Verified " & _
"Password, Admin UserName and Admin Password must be complete " & _
"for this function to operate correctly.", vbOKOnly
End If
Exit Sub
CmdChangeAdmin_err:
MsgBox Err.Description
End Sub
Private Sub cmdReset_Click()
On Error GoTo CmdReset_err
' Test to make sure appropriate textboxes are filled in because this is
' an administrative function.
If Not IsNull(Me!txtAdminPassword) And Not _
IsNull(Me!txtAdminUsername) And Not IsNull(Me!txtUserName) Then
Call ChangeResetPassword("Reset", Me!txtUserName, _
Me!txtAdminUsername, Me!txtAdminPassword)
Else
MsgBox "The textboxes for UserName, New Password, Verified " & _
"Password, Admin UserName and Admin Password must be complete " & _
"for this function to operate correctly.", VBOKOnly
End If
Exit Sub
CmdReset_err:
MsgBox Err.Description
End Sub
Speichern Sie Ihre Änderungen, und schließen Sie das Modulfenster. Speichern Sie und schließen Sie das Formular.
Weitere Informationen zum Ändern von Kennwörtern programmgesteuert im Visual Basic-Editor klicken Sie im Menü Hilfe auf Microsoft Visual Basic-Hilfe , geben Sie NewPassword-Methode im Office-Assistenten oder im Antwort-Assistenten ein und anschließend auf Suchen klicken, um das Thema anzuzeigen.
Die Informationen in diesem Artikel beziehen sich auf:
Microsoft Access 2000 Standard Edition
Keywords:
kbhowto kbprogramming kbmt KB200665 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 200665
(http://support.microsoft.com/kb/200665/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.