Kennwortabfrage mit einem VB-Programm (Access 97, 2000)
Veröffentlicht am 09.02.2004
Frage:
Ich habe Benutzer- und Gruppenkonten in einer neuen Arbeitsgruppendatei eingerichtet.
Beim Start von Access wird die Eingabe eines Kennwortes verlangt. Nun habe ich mit Visual Basic ein Tool geschrieben, welches auf die Access-Datenbank zugreift, um dort die Daten zu bearbeiten. Ich erhalte die Fehlermeldung „Keine Berechtigung“ beim Start meines Tools.
Wie kann ich das Dialogfenster zur Abfrage des Kennwortes in meinem VB-Programm realisieren?
Antwort:
Mit der DAO-Bibliothek können Sie auch von Visual Basic aus einen Arbeitsbereich (Workspace) erstellen. Vorher müssen Sie aber dem DBEngine-Objekt Ihre Arbeitsgruppendatei zuweisen:
DBEngine.SystemDB = "C:\Projekt\Kunden.mdw"
Die Arbeitsgruppendatei „Kunden.mdw“ enthält die Benutzer- und Gruppenkonten, die Sie angelegt haben. Der nächste Schritt wäre, einen Arbeitsbereich im Rahmen des DBEngine-Objekts zu erstellen:
Dim wrk As Workspace
Set wrk = DBEngine.CreateWorkspace("MeinArbeitsbereich", "Tom", "Quixote")
Hier wird ein Arbeitsbereich mit dem Namen „MeinArbeitsbereich“ erstellt. Gleichzeitig wird der User „Tom“ mit dem Kennwort „Quixote“ angemeldet.
Der Zugang ist nun erlaubt und Sie können Ihre Datenbank öffnen:
Dim db As Database
Set db = wrk.OpenDatabase("C:\Projekte\Kunden.mdb")
Über die Variable db haben Sie Zugriff auf sämtliche Daten, ähnlich wie das Objekt CurrentDb() in Access.
Sobald Sie die Datenbearbeitung abgeschlossen haben, können Sie die Objektvariablen wie folgt schließen und freigeben:
db.close
wrk.close
Set db = Nothing
Set wrk = Nothing