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

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 200665 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Erweiterte: Erfordert Experten Codierung und Interoperabilität sowie Mehrbenutzerfähigkeiten.

Alles erweitern | Alles schließen

Auf dieser Seite

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 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
    					
  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, _
      StrNewPassword
    
    MsgBox "Password Change Successful", vbInformation
    Exit Sub
    
    ChangeUserPassword_Err:
        MsgBox Err.Description
    End 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.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
    					
  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.

Eigenschaften

Artikel-ID: 200665 - Geändert am: Montag, 10. Februar 2014 - Version: 3.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbnosurvey kbarchive 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
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.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com