Zum Inhalt springen

Userverwaltung Userrechte in Access


charly20

Empfohlene Beiträge

ich habe eine DB für die ich geren Zwei benutzer definieren möchte. Das ist zum einen der normale User (ich dachte hierbei an den Standard Administrator der alle rechte entzogen bekommt) und einen Adminuser der alle Adminrechte hat.

Und zum zweiten: Der Adminuser soll einen anderen Startbildschirm erhalten wie der normale User.

Wie kann ich das verwirklichen?

Da ich überhaupt keine Ahnung habe, bitte nicht einfach sagen : mit vba...

danke euch.

daniel

Link zu diesem Kommentar
Auf anderen Seiten teilen

zu deiner ersten fragen.

wie man benutzerverwaltung unter access macht war hier schon mal ca. von 4 wochen ein topic offfen!

hab nur gerade keine zeit ihn zu suchen...

auf jedem fall war darin denke ich ein link zu einer seite wo das gut erklärt war!

hoffe ich konnte helfen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke. Hab das Problem schon mit einem VBA Skript behoben, welches ich mir von irgedneiner Seite runtergeladen habe. Ich hoffe der Author hat nichts dagegen:


Option Compare Database

Option Explicit

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _

    "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function fOSUserName() As String

Dim lngLen As Long, lngX As Long

Dim strUserName As String

    strUserName = String$(254, 0)

    lngLen = 255

    lngX = apiGetUserName(strUserName, lngLen)

    If lngX <> 0 Then

        fOSUserName = Left$(strUserName, lngLen - 1)

    Else

        fOSUserName = ""

    End If

End Function

Das gabnze Ding bewirkt das der Username des Angemeldeten Benutzers ausgegeben wird. Diesen vergleiche ich dann mit denen in der DB. Wenn er dort drin ist bekommt der Admin rechte ansonsten nicht :o) Aufgerufen wird das einfach mit :

'admin = fOSUserName

Dim Datenbank As Database

Dim UserTabelle As Recordset

Dim i, Anzahl As Variant


Set Datenbank = CurrentDb

Set UserTabelle = Datenbank.OpenRecordset("tbl_user", dbOpenTable)


Anzahl = UserTabelle.RecordCount

UserTabelle.MoveFirst


If Anzahl <> 0 Then


    For i = 1 To Anzahl

    ' !!! admin heißt das Textfeld wo man reinschreibt !!!

    If UserTabelle!Benutzer = admin Then

        DoCmd.OpenForm "form_admin"

    End If

    If UserTabelle!Benutzer <> admin Then

        DoCmd.OpenForm "Form_CPA_Main"

    End If


UserTabelle.MoveNext

Next i

End If


UserTabelle.Close

Datenbank.Close

End Sub


Möge dieser Thread noch jemanden helfen *g

mfg Daniel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...