Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Benutzerrechte in Access

Frage Entwicklung VB for Applications

Mitglied: cp-com

cp-com (Level 1) - Jetzt verbinden

18.10.2011 um 14:06 Uhr, 6263 Aufrufe, 2 Kommentare

Ich erstelle zurzeit eine Datenbank in Access 2010 und möchte dort mit Benutzergruppen arbeiten.

Sobald die Datenbank aufgerufen wird muss der User Benutzername und Passwort auswählen. Ist dieses erfolgreich soll der User je nachdem in welcher Benutzergruppe ein Formular, zum Bearbeiten der Datensätze angezeigt bekommen oder nur ein Bericht sehen dürfen. Ich hab das im Prinzip nach dieser Anleitung gelöst 2 (Man muss den Newsletter abonnieren um diesen komplett einsehen zu können, aber ich denke das ist in diesem Fall nicht notwendig).
Tabellen habe ich folgende:
  • tblDaten (beinhaltet die Daten für das Formular)
  • tblBenutzer (BenutzerID, Name, Vorname, Kennwort, BenutzergruppeID)
  • tblBenutzergruppe (BenutzergruppeID, Benutzergruppe)
Formulare:
  • frmLogin (Anmelde-Formular) Die Überprüfung ob Benutzername und Kennwort übereinstimmen erfolgt beim klicken auf den Button cmdLogin:
01.
Private Sub cmdLogin_Click() 
02.
    Dim lngBenutzerID As Long 
03.
    lngBenutzerID = Nz(DLookup("BenutzerID", "tblBenutzer", "Benutzername = '" & Me!cboBenutzername & "' AND Kennwort = '" & Me!txtKennwort & "'"), 0) 
04.
    If lngBenutzerID = 0 Then 
05.
        MsgBox "Benutzername und/oder Kennwort sind falsch." 
06.
        Me!txtKennwort.SetFocus 
07.
    Else 
08.
        MsgBox "Anmeldung erfolgreich!" 
09.
        DoCmd.Close acForm, Me.Name 
10.
        DoCmd.OpenForm "Formular" 
11.
    End If 
12.
End Sub
  • Formular
Bericht:
  • BerichtVonFormular

Was hier angezeigt wird funktioniert alles gut. Was muss ich nun an dem VBA?-Code ändern um die Benutzergruppen mit einzubeziehen?

Bin leider kein großer Access experte...Also bitte entschuldigt wenn ich fachlich mal daneben trete ;)
Mitglied: SlainteMhath
18.10.2011 um 15:50 Uhr
Moin,

evtl. sowas in der Art (auch wenn select...case nicht besonders elegant ist )

01.
lngGruppenID = Nz(DLookup("BenutzergruppeID", "tblBenutzer", "Benutzername = '" & Me!cboBenutzername & "'), 0)  
02.
select case lngGruppenID 
03.
  case is = 1 
04.
    docmd.openform "Formular 1" 
05.
  case is = 2 
06.
    docmd.openform "Formular 2" 
07.
  case else 
08.
    ... 
09.
end select
als Ersatz für deine Zeile 10.

Oder versteh ich die Frage falsch?

lg,
Slainte
Bitte warten ..
Mitglied: cp-com
19.10.2011 um 09:53 Uhr
Nein du verstehst mich genau richtig! Vielen dank.

LG
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access 2016 Profi zur Hilfe gesucht

Frage von dtbsys zum Thema Microsoft Office ...

Datenbanken
Access 2016 vertauscht Monat und Tag in meiner CSV Datei (1)

Frage von iGordon zum Thema Datenbanken ...

LAN, WAN, Wireless
Endgeräte wechseln zwischen zwei Access Points hin und her (15)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...

Server-Hardware
gelöst SPP von HP Abwärtskompatibel? (14)

Frage von fireskyer zum Thema Server-Hardware ...