Office: (Office 2010) Userrechte und Navi.-formular

Helfe beim Thema Userrechte und Navi.-formular in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Nabend zusammen... Ich habe ein Navigationsformular erstellt mit einigen Registerkarten. Eines davon (Administration) hat ein Unternavigationformular... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von M-Deniz-S, 26. Oktober 2015.

  1. Userrechte und Navi.-formular


    Nabend zusammen...

    Ich habe ein Navigationsformular erstellt mit einigen Registerkarten. Eines davon (Administration) hat ein Unternavigationformular (mit User tbl und Sicherhiets tbl) - wenn man es so nennen kann - wie dem auch sei...ich habe in dieser Registerkarte vertrauliche Daten drin, die von User nicht sichtbar sein sollen.

    Ich habe mir mit Anleitung einen Code erstellt, der zu 95% funktioniert, damit User diese Registerkarte nicht anklicken bzw. den Inhalt nicht sehen können.
    Nun ist es so, dass wenn ein User diese Registerkarte anklickt eine Warnmeldung kommt, die mit "Ok" bestätigen werden kann. Solange der User nicht auf ein andere Registerkarte springt, bleibt die Registerkarte "Administration" für ihn offen und er kann sich alles anschauen.

    Wo muss ich was verbauen, dass der User beim Klicken nichts angezeigt bekommt?
    Zur Info...mit "visible" im letzten "Enabled-Befehls" des Codes geht es auch nicht.

    Code:
    Scheint nur ein kleiner Befehl zu sein.

    Dann möchte ich gerne eine andere Registerkarte mit Rechten ausstatten. Müsste dann das Ganze im Ausriss des Codes so aussehen...

    Security = DLookup("UserSecurity", "tblBFSuser", "[UserLogin] = '" & Me.txtUser & "'")
    If Security = 1, 3 Then
    Me.NavigationButtonXX.Enabled = True

    Ich danke schon mal jetzt.

    :)
     
    M-Deniz-S, 26. Oktober 2015
    #1
  2. Hallo,

    ich würde auf jeden Fall den Karteireiter beim öffnen des Formulars auf .Visibel = False stellen und dann prüfen ob der Benutzer die erforderliche Berechtigung hat. Bei positiver Überprüfung dann den Karteireiter sichtbar machen - .Visible = True.

    Gruß
    Richard
     
  3. Neben dem Hinweis von RichiB noch eine kleine Codeoptimierung:
    Code:
    Im Falle von 3 und dem weiteren Button: DLookup findet immer nur den ersten Wert, wenn ein User mehrere Berechtigungen haben kann, dann müsste man dort anders rangehen.

    maike
     
  4. Userrechte und Navi.-formular

    danke an Euch...

    bevor Ihr mir geschrieben hattet, habe ich den Code auf "Beim Laden" übertragen.

    Und Ihr bestätigt mir jetzt dieses Vorgehen.

    @ Maike:
    ja, es gibt User bzw. den Admin, der mehr Berechtigungen haben soll.

    Habe 3 Sicherheitslevel in einer tbl eingestellt...1 = Admin1 (soll alle R.karten bedienen können), 2 = User (alle außer N.button13 und N.buttonXX) und 3 = Admin2 (alle außer N.button 13).

    Dein verbesserter Vorschlag funktioniert leider gar nicht...es passiert nichts...keine Meldung etc.. Kann die Registerkarten und den Inhalt nach belieben einsehen und ändern.

    geht es nicht, dass man die ganze Sache mit dlookup (einzeln auflistet) hinbekommt? Frage nur deshalb, weil ich den Sinn von "dlookup" etwas verstanden habe*biggrin.gif* . Es macht für mich vielleicht die Sache auch verständlicher.
     
    M-Deniz-S, 27. Oktober 2015
    #4
  5. Meine Frage war ja, ob es für bestimmte User mehrere Datensätze (für jeweils unterschiedliche Berechtigungen) in der Tabelle gibt. DLookup findet immer nur den ersten.
    Bau doch mal in den Code von mir noch ein
    Code:
    ein und guck nach, was im Direktfenster ausgegeben wird.
    maike
     
  6. also hab den Code eingegeben...nichts passiert.

    Also, wenn ich dich richtig verstehe findet "dlookup" nur den eingetragen Wert in einer Zelle?!?!
    Ich habe nun in meiner User tbl, wo UserSecurity bereits vorhanden ist, ein weiteres Feld hinzugefügt...UserSecurity2. Da habe ich z.B. für mich (Admin) unter UserSecurity = Admin1 und in UserSecurity2 = Admin 2 ausgewählt. Beide Zellen hätten dann für den "dlookup" einen Eintrag.
    Bis jetzt würde nur der Administrator mehrere Rechte haben.
     
    M-Deniz-S, 28. Oktober 2015
    #6
  7. Ergänzung...

    ich dachte wir sind so verblieben, dass ich den Code "bei Laden" eingebe, dabei ist er für den Button.
    Wenn ich den Code beim Button eingebe, erscheint dasselbe Verhalten, was ich auch schon vorher hatte.

    Die Lösung, dass das Ganze beim Laden geschieht, finde ich ganz gut!!
     
    M-Deniz-S, 28. Oktober 2015
    #7
  8. Userrechte und Navi.-formular

    Kein Eintrag im Direktfenster? Dann ist irgendwas faul.
    EDIT: ok, die Erklärung hast du ja jetzt.
    In einem Feld und in einem Datensatz.
    Das ist weniger schlau *wink.gif* . Wenn ich dich richtig verstehe, dann hat ein User entweder Adminrechte (alle Knöppe) oder Userrechte (alle bis auf zwei) oder das andere (alle bis auf einen). Das schließt sich dann gegenseitig aus.
    In dem Fall kann die Prozedur im Prinzip so bleiben.

    Was mich grad wundert: Der Button NavigationButton13 ist sowohl der, der das Ereignis auslösen soll und gleichzeitig wird er beim Laden "disabled"? Wie kann man denn dann da drauf klicken *confused.gif* ?
    Ich dachte, du willst eine Registerseite ausblenden?

    EDIT: Beim Laden sollst du nur die Registerseite oder die Buttons oder was auch immer disablen, natürlich nicht den, der dann geklickt wird - ich bin immer noch *confused.gif* .

    maike
     
  9. Ok...alles etwas verwirrend...für Dich und mich...

    Für mich macht es eher Sinn, wenn die Prozedur beim Laden durchgeführt wird, dass die Registerseiten ausgegraut sind. Die Rede war nie davon, dass wie Du es schreibst...beim Laden und beim Klicken passiert...macht iwo keinen Sinn.

    Wenn ich Deinen Code nur beim Klicken eingebe, dann kann ich trotzdem auf die Sub-R.seiten klicken, wenn ich nicht auf eine andere Haupt-R.seite klicke. Nur verstehe ich nicht, warum Du den anderen N.button in den Code gebaut hast...Ereignis = 0.

    Also müssen wir in dem Fall Deine "Case" Prozedur nehmen und umdisponieren (beim Laden)?

    Scheisse...voll kompliziert...auf einmal!
     
    M-Deniz-S, 28. Oktober 2015
    #9
  10. Heißen denn die Subreiterseiten NavigationsbuttonXX? Ich dachte, das wären Buttons. Wenn das Reiterseiten sind, muss da auch eventuell das Ereignis Bei Änderung genommen werden, ist zumindest bei "normalen" Registern so, wenn man den Klick auf die Registerseite auswerten will.
    Ich hab Access 2003, da gibt es keine Naviformulare - daher hilft hier leider auch keine Beispiel-DB.

    Na, wenn der User keine Berechtigung hat, soll er doch den Button auch nicht klicken können, oder?

    Das wäre wohl das beste, dieses Ereignis tritt beim Öffnen des Formulars ein und könnte dann je nach UserSecurity die Reiter sperren bzw. entsperren.

    Dazu wäre jetzt aber mal interessant, wie die Werte (txtUser und Security) zur Laufzeit (Debug.Print -> im Direktfenster) aussehen. Das hast du bisher noch nicht verraten.

    maike
     
  11. Ähm...keine Ahnung, wie das wirklich geht...ist das Direktfenster nicht das, wo Du den Code pflegst? und wenn Du das "Play-Symbol" drückst, das Ganze durchlaufen lässt? Wenn ja, dann kommt wirklich nichts.

    Hier der Original, den ich benutzt habe, der so auch wirklich gut ist. Der funktioniert echt gut. Habe jetzt nur die Fehlermeldung rausgenommen, die wirklich gestört hat, wenn man das Formular geöffnet hat.
    Code:
    Zu deinem Code...muss ich vielleicht statt die Sub-N.button anzugeben, den Namen des eingebeteten Sub-N.formulars angeben? Die Auflistungder einzelnen Buttons macht kein Sinn, da die fortlaufenden Nr. der Buttons zum H-N.-formular doppelt auftauchen, bedeutet, im H-N.-formular habe ich ein N-button 13 und im Sub-N.-formular auch.
     
    M-Deniz-S, 28. Oktober 2015
    #11
  12. Nein, das öffnet sich mit der Tastenkombination strg + g. Der Befehl Debug.Print Security gibt dann z.B. den Wert von Security dort aus.
    Nochmal zum Code: Ich wollte das doppelte Dlookup vermeiden u.a.
    Code:
    maike
     
  13. Userrechte und Navi.-formular

    Ich weiß nicht, wie Du es immer hinbekommst, aber Du bist echt genial!!!!

    War für Dich bestimmt nicht all zu schwer...aber für mich, für den die Materie super neu ist und teilweise Hyroglyphen sind, eine nicht zu bewältigende Aufgabe. Aber ich schlage mich so langsam (Schneckentempo) durch.

    Du hast mir echt wieder weitergeholfen!! Habe jetzt noch ein Fall dazu geschrieben (User), welcher auch funktioniert. Jetzt kann Admin1 alles anklicken, Admin2 alles ausser R.-seite "Administration, User kann 2 R.-seiten nicht anklicken und wenn der Wert 0 ist - habe da den Code verlängert - soll gar nichts gehen ausser "Exit".

    Hier, der jetzige Code...Kommentare habe drin gelassen...

    Code:
    Ahh zum Debug.print...

    was gezeigt wird...die Werte und der User...in dem Fall ich immer durch den "Environ"

    Die Datenbank ist nun fast fertig...würde es theoretisch Probleme geben, wenn ich nun ein BE+FE erstelle? Ich frage im Hinblick auf die eingebenen Prozeduren, denn ich will die DB demnächst für andere User freigeben. Ein kleiner Zwischentest letztens gab es ein Paar Performance-Probleme (langsame Reaktion auf Befehle).
     
    M-Deniz-S, 28. Oktober 2015
    #13
  14. Was ich wissen wollte (daher das Debug.Print) war, ob in txtUser auch ein Wert enthalten ist, der der [user_kid] entspricht - im Code sah das so aus, als wenn da eher eine Zahl auf einen Text trifft.
    Frontend und Backend ist bei mehreren Usern auf jeden Fall notwendig. Jeder User muss ein eigenes lokales Frontend bekommen.
    Die Performance dürfte nicht daran haken, da ist eher was anderes der Grund.
    Welche Befehle waren denn langsam? Möglicherweise ist da noch Optimierungspotenzial, wenn es nicht am Netz liegt.
    maike
     
  15. eigentlich ist da kein Wert hinterlegt, denn den Wert - so habe ich es verstanden - zieht er sich durch das "Environ". Er zeigt nur als erstes als Wert die Userrecht und als zweites die User_kid bzw. "Environ-Wert"...der ist auf meiner Arbeit dann gleich.

    Also das Problem war, dass es geringe Reaktionschwierigkeiten beim betätigen der Registerseiten. Viellicht hängt das aber auch mit dem Netzwerk auf der Arbeit zusammen.

    Kannst Du mir ein genaues doing geben?

    1. DB öffnen und trennen durch den Assistenten.
    2. Lokal im Netzwerk irgendwo ablegen? Frage: Muss BE+FE in einem Verzeichnis leigen?
    3. FE lokal auf meinen Rechner legen? Frage: Kopieren oder Verlinken + wie bekommen die anderen User die Anwendung, wenn ich nicht will, dass sie den Ablageort kennen?
     
    M-Deniz-S, 29. Oktober 2015
    #15
Thema:

Userrechte und Navi.-formular

Die Seite wird geladen...
  1. Userrechte und Navi.-formular - Similar Threads - Userrechte Navi formular

  2. Suchfeld in Formular

    in Microsoft Access Hilfe
    Suchfeld in Formular: Hallo zusammen Ich bin eine Datenbank am erstellen, wo ich Mitarbeiter und Kurse erfassen kann und schlussendlich den Mitarbeitern die besuchten Kurse zuteilen. Nun habe ich ein Formular...
  3. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  4. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  5. Aktuelles Datum und Uhrzeit in Formular

    in Microsoft Word Hilfe
    Aktuelles Datum und Uhrzeit in Formular: Hallo, zunächst ein herzlichen Dank für die Aufnahme in diesem Forum und hoffe, dass mir jemand bei meinem Problem behilflich sein kann. Ich bin aktuell dabei ein Formular zu erstellen. Das...
  6. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. erstellte Formulare versenden

    in Microsoft Outlook Hilfe
    erstellte Formulare versenden: Hallo zusammen, als Rookie direkt mal eine Outlookfrage (MS 365) i.S. Formulare: Onkel Google hat mir ja erklärt, wie man Formulare erstellt, das funzt jetzt auch soweit *:)* Ich speichere die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden