: Acc2000 Ändern von Benutzerkennwörtern Programmgesteuertes Verwenden von DAO

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
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Erweiterte: Erfordert Experten Codierung und Interoperabilität sowie Mehrbenutzerfähigkeiten.

Zusammenfassung
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.
Weitere Informationen
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:

  1. Öffnen Sie Ihre Datenbank in Microsoft Access 2000.
  2. Klicken Sie im Datenbankfenster klicken Sie unter Objekte auf Module , und klicken Sie auf neu .
  3. 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 WorkspaceOn 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 IfElseIf 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 IfElse    MsgBox "You must Select a StrAction of either '" & "Change'" & _      "' or '" & "Reset'.", vbOKOnlyEnd Ifws.CloseSet ws = NothingExit SubChangeResetPassword:     MsgBox Err.DescriptionEnd Sub					
  4. 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:

  1. Öffnen Sie die Datenbank in Microsoft Access.
  2. 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.
  3. 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, _  StrNewPasswordMsgBox "Password Change Successful", vbInformationExit SubChangeUserPassword_Err:    MsgBox Err.DescriptionEnd Sub					
  4. 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:

  1. Erstellen Sie ein neues leeres Formular und speichern Sie es als FrmChangePasswords.
  2. 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.
       Text Box:   -----------------   Name: txtUserName   Label:   --------------------   Name: lblUserName      Caption: UserName   Text Box:   -----------------------   Name: txtOldPassword      Input Mask: Password   Label:   ------------------------   Name: lblOldPassword      Caption: Old Password   Text Box:   ------------------------   Name: txtNewPassword      Input Mask: Password   Label:   ------------------------   Name: lblNewPassword      Caption: New Password   Text Box:   -----------------------   Name: txtVerifyPassword      Input Mask: Password   Label:   ---------------------------   Name: lblVerify Password      Caption: Verify Password   Text Box:   -----------------------   Name: txtAdminUsername      Input Mask: Password   Label:   -----------------------------------   Name: lblAdminUsername      Caption: Administrative UserName   Text Box:   -----------------------   Name: txtAdminPassword      Input Mask: Password   Label:   -----------------------------------   Name: lblAdminPassword      Caption: Administrative Password   Command Button:   -----------------------------------------------   Name: CmdChange      Caption: Change Password(Non-Administrative)      Height: 720      Width: 1440   Command Button:   -------------------------------------------   Name: CmdChangeAdmin      Caption: Change Password(Administrative)      Height: 720      Width: 1440   Command Button:   ------------------------------------------   Name: CmdReset      Caption: Reset Password(Administrative)      Height: 720      Width: 1440					
  3. 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					
  4. 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.SetFocusElse   ' 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 IfEnd IfExit SubCmdChange_err:          MsgBox Err.DescriptionEnd SubPrivate 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 IfElse MsgBox "The textboxes for UserName, New Password, Verified " & _    "Password, Admin UserName and Admin Password must be complete " & _    "for this function to operate correctly.", vbOKOnlyEnd IfExit SubCmdChangeAdmin_err:   MsgBox Err.DescriptionEnd SubPrivate 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.", VBOKOnlyEnd IfExit SubCmdReset_err:  MsgBox Err.DescriptionEnd Sub					
  5. Speichern Sie Ihre Änderungen, und schließen Sie das Modulfenster. Speichern Sie und schließen Sie das Formular.
Informationsquellen
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.
Passwort vergessen verloren vergessen

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 200665 – Letzte Überarbeitung: 02/10/2014 14:08:25 – Revision: 3.2

Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbhowto kbprogramming kbmt KB200665 KbMtde
Feedback