Microsoft Access 2016 | Loginformular - Anmeldemaske mit etwas VBA

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.ค. 2024
  • Was ist ein anständiges Programm ohne Login? In diesem Video zeige ich dir wie du eine Anmeldemaske mit Benutzer und Passwort erstellst. Dazu sind nur drei Schritte nötig:
    1. Tabelle für Login Daten erstellen
    2. Login Formular erstellen
    3. Code für den Anmelde-Button schreiben
    ►► Über diesen Kanal
    Möchtest du deine eigenen Datenbanken erstellen weißt aber nicht genau, wie du anfangen sollst?
    Oder du kennst dich bereits aus, hast aber Schwierigkeiten deine Datenbank fehlerfrei zum Laufen zu bringen?
    Dann bist du hier genau richtig! Ich biete dir wöchentlich neue Tutorials, Tipps & Tricks, um deine Datenbank auf das nächste Level zu bringen.
    Ich beschäftige mich seit einigen Jahren erfolgreich mit Access und habe bereits Warenwirtschafts, -Lagerhaltungs oder Verwaltungsanwendungen entwickelt. Hier möchte ich mein Wissen mit dir teilen.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 34

  • @michael8664
    @michael8664 11 หลายเดือนก่อน

    Herr Knowlitz,
    endlich mal jemand, der ruhig, langsam und vor allem sehr deutlich spricht und sich in diese (wenn auch etwas kniffilige) Materie auskennt Vielen Dank für dieses tolle Video!!! 👍
    Gruß aus der Eifel (bei Köln)

  • @user-Ed452
    @user-Ed452 11 หลายเดือนก่อน +2

    Hallo Herr Knollwitz, mir gefällt das Video sehr gut. Es wir alles genau erklärt. Habe es auch für meine Datei nachgebaut. Ich kenne mich mit Access noch nicht aus. Arbeite erst seit zwei Wochen daran. Könnten Sie noch erklären wir man nach erfolgreicher Anmeldung in ein weiteres Menü kommt. Vielen Dank

  • @IndeptStudios
    @IndeptStudios 2 ปีที่แล้ว +3

    sehr schönes nachvollziehbares Video.
    Anmerkung:
    Es ist fatal bei falsch eingabe des Passworts oder des Nutzernamen auszugeben was genau falsch eingegeben wurde.
    Wenn ich nämlich das Vorname Feld leer lasse und nur das Passwort eingebe bekomme ich sonst die Info
    das es das Passwort gibt, also nur noch eine Frage der Zeit bis ich einen gültigen Vorname finden.
    Einfach beide Fälle (Vorname falsch, Passwort falsch) immer mit "Vorname oder Passwort falsch" ausgeben schon hat man etwas mehr sicherheit.

  • @schellyus
    @schellyus 2 ปีที่แล้ว +2

    Ich habe früher auch relativ viel mit Access-VBA gearbeitet (Access 97 :-)
    Bin nun aber im Ruhestand und habe das Bedürfnis, wieder etwas (mit VBA) zu programmieren.
    Oh weh! Man vergisst sehr schnell elementare Dinge und zudem hat sich natürlich viel geändert (vor allem die Access-Oberfläche)
    Nichsdestotrotz es geht voran.
    Von den bislang gesehenen Videos hat mir dieses bisher am besten gefallen.
    Hier stimmt die Art, Vorgehensweise etc. absolut.
    So etwas suche ich.

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว +1

      Hallo Uwe, danke für deine netten Worte.

  • @MrAmmits
    @MrAmmits 2 ปีที่แล้ว

    Top. Sehr gut und sympatisch Erklärt. Hab ich auch sofort umgesetzt.

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว

      Danke MrAmmits, das freut mich sehr !

  • @halilerol5054
    @halilerol5054 2 ปีที่แล้ว

    sehr gut, super erklärt. Danke

  • @Goesserandmore
    @Goesserandmore 9 หลายเดือนก่อน

    Die Erklärung ist super, zeigt aber auch, wie benutzerunfreundlich und rückständig Access gegenüber anderen Datenbankprogrammen, wie z.B. FileMaker, ist.

  • @ingostoter5490
    @ingostoter5490 ปีที่แล้ว

    Hallo Knowlitz, super Video, aber wie geht das wenn der Benutzer nur auf eine bestimmte ID zugriff haben soll. z.b. bei in einer Tabelle sind 2 Einträge und er darf nur einen Trag sehen und bearbeiten können? Getrennt sind die Daten mit 2 verschiedenen ID's.

  • @aliahmadi3002
    @aliahmadi3002 2 ปีที่แล้ว +4

    Danke für Ausführliche Tutorial. Wie kann ich Login Formular richtig einsetzen, dass die User ohne Eingabe nicht die DB öffnen können. Man kann ihn umgehen und einfach schließen, ohne Passwort einzugeben.
    Vielen Dank im Voraus

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว +4

      Super Frage: Zwei Schritte sind dafür nötig: Gehe im Login-Formular in die [Entwurfsansicht] und wähle im [Eigenschaftenblatt] unter dem Reiter [Format] den Punkt [Schließen Schaltfläche]=Nein. Daraufhin ist das X nicht mehr anklickbar. Somit ist das Schließen nicht mehr möglich. Du musst dazu das Formular einmal anwählen (Da wo die Lineale beginnen draufklicken - es erscheint ein schwarzes Rechteck).
      Im zweiten Schritt baust du einen Button ein mit dem Text [Abbrechen]. Dort hinterlegst du beim Ereignis [Beim Klicken] folgenden Code: "DoCmd.Quit" oder "Application.Quit" funktioniert beides. Dann können die Benutzer das Programm auch Schließen, wenn kein Zugang vorhanden ist. Du kannst auch noch eine MsgBox drumherum bauen:
      If MsgBox("Möchten Sie das Programm wirklich beenden?", vbQuestion + vbYesNo, "Programm beenden") = vbYes Then
      Application.Quit
      End if
      Um 100% sicherzugehen, kannst du das Formular auch als Dialog öffnen. Das bedeutet, dass kein anderes Formular aktiviert werden kann, solange dieses Formular geöffnet ist. Der Benutzer kann sich nun entweder erfolgreich einloggen oder das Programm schließen. Das machst du auch im [Eigenschaftenblatt] unter dem Reiter [Andere]. Dort ist die Zeile [Gebunden]=Nein die Lösung.
      Mach aber am Besten ein Backup bevor du das alles machst. Man kann sich eventuell aus Access "aussperren".

    • @aliahmadi3002
      @aliahmadi3002 2 ปีที่แล้ว

      @@knowlitz3138 Vielen Dank für die Antwor. Ich werde es bald probieren. Schöne Adventzeit.

    • @stefanbongers1146
      @stefanbongers1146 8 หลายเดือนก่อน

      @@knowlitz3138 [Gebunden]=Ja ist die Lösung :) - Funktioniert prima! Danke für die super Erklärung! Hast Du zufällig noch einen Tipp wie man verhindern kann, dass nach erfolgreicher Anmeldung der User in die entsprechende Tabelle gehen kann und die anderen Passwörter sehen kann? VG, Stefan

  • @partydjbobby3982
    @partydjbobby3982 10 วันที่ผ่านมา

    Mit falschen Benutzernamen und PW komme ich rein?

  • @christiankanzler3706
    @christiankanzler3706 ปีที่แล้ว

    Hallo Knowlitz,
    das wird morgen früh gleich nachgemacht. Kannst du auch ein Video machen, wie man eine Runtime erstellt?
    Gruß Chris

  • @Stefan.Lohwieser
    @Stefan.Lohwieser 2 ปีที่แล้ว +1

    Servus Knowlitz!
    Du hast mir mit dem Tutorial den Tag gerettet!! Ich mach erst seit 6 Wochen überhaupt was mit Access - und das auch nur, weil es keine andere Möglichkeit bei mir in der Arbeit gab... aber ich liebe es! Das Icon ist schon abgenutzt und das von Excel setzt Spinnweben an ;-) ;-)
    Aber genug geplaudert!
    Ich habe eine IF/THEN bzgl. des Benutzernames dahinter gehängt, um jedem Benutzer bestimmte Formulare zu öffnen.
    Meine Frage: hast Du einen Tipp, eine Idee, vllt. eine Anleitung, wie ich die Benutzerdaten (User+Pwd) aus dem Active Directory ziehen kann? Quasi eine Rückfrage, ob das eingegebene Systempasswort zum Benutzernamen passt; den Benutzernamen kann ich mit Environ("UserName") auslesen, nur die Passwortprüfung wäre eine nettes Feature :-)
    Danke schon mal und hoffentlich kommt bald was neues von Dir :-)
    Viele Grüße!

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว

      Servus Stefan, ich versuche Excel auch zu vermeiden, wo es geht ;)
      Environ("Username") nutze ich auch regelmäßig. An das Passwort aus dem Active Directory kommt man leider gar nicht ran. Das wäre sonst ein krasser Hack :)
      Du könntest alternativ eine Tabelle [Benutzer] erstellen, in welcher die Benutzer und Passwörter gespeichert sind. (Wie im Video erklärt) und dann das Passwort mit der [Dlookup]-Funktion vom aktuellen Windows-Benutzer auslesen. Der Code würde dann so aussehen:
      Me.txtPasswort = Dlookup("Passwort","Benutzer","Benutzer='" & Environ("Username") & "'")
      Hinweis: Achte hier bitte auf die Hochkommas und Gänsefüsschen. Wird auf TH-cam nicht gut dargestellt sehe ich grade.
      Du könntest danach auch die Prozedur vom [Anmelden/OK]-Button ausführen lassen. Dann würde der Benutzer dein Access-Programm starten und er hinterlegt automatisch Benutzer und Passwort und meldet sich auch gleich an. Dadurch könntest du dir auch viele IFs sparen, da der Benutzer ja keine falschen Eingaben machen kann.
      Ich hoffe, das geht in die richtige Richtung.

    • @dabrain6944
      @dabrain6944 ปีที่แล้ว

      Das Windows-Passworts braucht man nicht, der Nutzer hat sich ja bereits damit angemeldet. Insoweit reicht die Abfrage der Windows-Kennung, um die Berechtigung zu prüfen.

  • @klaus-dieterlieckfeldt6897
    @klaus-dieterlieckfeldt6897 2 ปีที่แล้ว

    Servus, habe heute das ganze mal nach gestellt. Leider läuft hier was unter Office365 schief. Auch mit falschen Benutzernamen und PW komme ich rein. Gibt es hier ggf. etwas das ich im Makro anpassen muss??

  • @rufi4you
    @rufi4you ปีที่แล้ว

    super anleitung, aber wenn jemand zugriff auf die tabelle hat sieht er alle passwörter. kannst du mal ein video machen, dass zeigt wie man die passwörter verschlüsselt abspeichern kann und in einem login form darauf zugreifen und prüfen könnte. danke

  • @GeMa0180
    @GeMa0180 ปีที่แล้ว

    Danke für das Video. Genau das was ich gerade gebraucht habe😃
    Wie mache ich es, dass man das Formular nicht über das kleine X, Rechtsklick->Schließen/Ansicht o.Ä. schließen kann? Wenn man das Formular einfach schließen kann, erfüllt es den Zweck leider irgendwie nicht so ganz😄

    • @knowlitz3138
      @knowlitz3138  11 หลายเดือนก่อน +1

      Um das X zu deaktivieren, gehst du im Formular in die "Entwurfsansicht" und klickst rechts im "Eigenschaftenblatt" auf den Reiter "Format". Dort gibt es den Punkt "Schließen Schaltfläche". Diesen setzt du auf "Nein".
      Leider würden findige User immer noch in die Entwurfsansicht kommen und könnten so das Formular schließen. Ich habe das so gelöst, dass ich in einer globalen Variable den Benutzer speichere, welcher sich aktuell angemeldet hat (Bei erfolgreicher Anmeldung). Ist kein Benutzer angemeldet und das Login-Formular wird geschlossen, dann schließt sich Access.
      Also im Ereignis "Beim Schließen" den Code einbauen:
      IF pubUser = "" THEN
      Application.Quit
      END IF

  • @ownguitar4119
    @ownguitar4119 2 ปีที่แล้ว

    Was nützt ein login Formular, wenn ansonsten das System offen ist. Gibt es dazu auch Beispiele wie das am besten zu handhaben ist.

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว +1

      Hallo ownguitar, du hast vollkommen Recht. Das Video zeigt nur die halbe Miete. Bei Gelegenheit werde ich ein Folgevideo erstellen, wie man das Loginformular so gestaltet, dass keiner ins System kommt ohne Passwort.

  • @oliverhagspiel8301
    @oliverhagspiel8301 6 หลายเดือนก่อน

    Wann kommt den das Video was nach der Anmeldung passiert? .. ( lach nach 5 Jahren ) ...Grüße

  • @vintus_9349
    @vintus_9349 2 ปีที่แล้ว

    Tolles und aufschlussreiches Video, insb. mit dem Nachschlag der Antwort auf Changiz, wie ein falsches Login den Nutzer dann auch aussperren kann. Wenn ich mir eine Fortsetzung wünschen dürfte, wäre das, über das Login eine Personalisierung des Programmzugangs zu erreichen. Dass also das Programm nach dem Login weiß, wer sich angemeldet hat, und dieses Wissen nutzt, um z.B. neuangelegte Datensätze mit dem Erstellernamen zu kennzeichnen oder bei Abfragen nur die eigenen Kunden zu berücksichtigen etc. Ist das mit überschaubarem Aufwand möglich? Bisher habe ich immer an den einzelnen Arbeitsplätzen ein leicht modifiziertes (personalisiertes) Frontend installiert, in dem in entsprechenden Feldern der Name des Arbeitsplatzinhabers als Standardwert festgelegt ist. Das ist umständlich und funktioniert nur, wenn jeder seinen persönlichen Schreibtisch hat.
    Geht das?
    Danke und beste Grüße
    Norbert

    • @knowlitz3138
      @knowlitz3138  ปีที่แล้ว

      Hallo Norbert, für dein Problem habe ich eine einfache Lösung:
      1. Du benötigst eine "Public-Variable". Hierfür habe ich ein extra Modul erstellt, in welchem ich alle "Public-Variablen" definiere.
      So definierst du die Public-Variable im VBA-Editor: "Public pubBenutzer As String"
      Diese Variable ist innerhalb der Access-Anwendung überall ansprechbar und auslesbar.
      2. Nach dem erfolgreichen Login (Benutzer + Passwort korrekt) übergibst du der Variable "pubBenutzer" den Benutzernamen
      Möglichkeit 1: pubBenutzer = Me.Benutzer
      Möglichkeit 2: pubBenutzer = DLookup("Benutzername", "Benutzer", "Benutzer ='" & Me.Benutzer & "'")
      Bei den beiden Möglichkeiten musst du entscheiden, welche Daten du haben willst. Der "Benutzer" ist bei mir immer das Kürzel z.b. MMU (Max MUstermann) der "Benutzername" ist der vollständige Name.
      Ergebnis: Nun kannst du aus verschiedenen Formularen auf die Public-Variable "pubBenutzer" zugreifen. Z.B. wenn du einen neuen Datensatz anlegst kannst du sagen:
      Me.ErstelltVon = pubBenutzer
      Hinweis: Wenn du einen Laufzeitfehler im Programm hast und den Debugger beendest, werden alle Variablen gelöscht. Das heißt, wenn dein Programm einen Laufzeitfehler hat, müsste man sich erneut anmelden.

    • @kamilrzychon4080
      @kamilrzychon4080 ปีที่แล้ว

      @Knowlitz: Vielen Dank für das informative und aufschlussreiches Videos. Ich zerschlage mir gerade den Kopf mit dem Erstellen der Public-Variable. Irgendwas mache ich an meinem Code falsch. Könntest du etwas genauer beschreiben, wie die Public-Variable aussehen könnte? z.B. mithilfe eines Codes.

  • @walterweiss6570
    @walterweiss6570 11 หลายเดือนก่อน

    das Ding prüft keine Groß/Kleinschreibung

  • @edgarfauth3796
    @edgarfauth3796 2 ปีที่แล้ว +3

    ... und wie geht es weiter ??? Ansonsten ist es sehr gut demonstriert und auch nachvollziehbar.... aber das war es dann auch... schade ... deshalb auch der Daumen unten ...

    • @knowlitz3138
      @knowlitz3138  2 ปีที่แล้ว +3

      Hallo Edgar, danke für deinen Kommentar. Was meinst du mit wie geht es weiter? Wo stehst du gerade? Vielleicht mach ich mal ein neues Video als Fortsetzung. Freue mich über deine Anregungen.

    • @Ufailty
      @Ufailty 2 ปีที่แล้ว +2

      Hey, erstmal danke für das Video. Gerade für mich als Einsteiger in Access sind solche Videos super nützlich. Ich denke er bezieht sich auf "Was kann man danach damit anstellen?" Zbsp wie die Frage von Changiz die du beantwortet hast. Also wie man das Login dafür benutzen kann um die restlichen Daten und Formulare hinterm Login zu verstecken.